Вы также можете использовать коллекцию вместо массива. Работать с коллекциями очень просто, и я часто нахожу их проще и быстрее реализовать, чем массив.
Dim colFind As New Collection
dim i As integer
Dim ListText As String
' Add the words you wish to search for to the collection.
colFind.Add "Name"
colFind.Add "Surname"
For i = 1 To colFind.Count
Dim Onecell As Range
For Each Onecell In Range("A1:AA1")
If InStr(UCase(Onecell.Text), UCase(colFind(i))) > 0 Then
ListText = ListText & vbNewLine & Onecell.Address(RowAbsolute:=False, ColumnAbsolute:=False) & " | " & Onecell.Value
End If
Next Onecell
MsgBox ListText, vbQuestion, colFind(i)
Next i
Вы работаете против намерений ActiveResource. ActiveResource предоставляет интерфейс веб-сервисам REST, которые условно возвращают присвоенный идентификатор, когда Вы делаете создавание.
Тем не менее при управлении ресурсом, Вы используете, и Вы изменили его поведение для взятия идентификатора при сохранении новой записи, Вы могли изменить ActiveResource:: Основа для приспосабливания. Людям в направляющих действительно весьма свойственно сделать дополнения и изменения в базовых классах; Вы просто помещаете свой патч в lib и включаете его где-нибудь в Ваш материал запуска.
Я не думаю, что это - хорошая идея, обязательно, но это возможно.:)
В новых рельсах (проверено 2.3.2) можно установить id, так как логика сохранения немного изменилась (теперь записи имеют логическое поле @newrecord, чтобы исключить этот id.nil?).
record = Model.new
record.id = 123
record.save!