Я имею дело с проблемой и не могу найти умное решение. Вкратце: представьте себе, у нас есть много элементов текстового поля, определенных в стр-объекте как:Как заполнить несколько текстовых полей pageob в режиме реального времени
text_field(:txt_field_1, id: 'field1')
text_field(:txt_field_2, id: 'field2')
....
Я могу легко заполнить одно поле с:
def fill_field1(content)
self.txt_field_1 = content
end
... вызов метода:
fill_field1('John Doe')
То, что я ищу, чтобы использовать уникальный метод, чтобы заполнить несколько полей, используя имя элемента страницы-объект в качестве параметра метода, например:
def fill_fields(field, content)
self.field = content
end
... и вызов методы так:
fill_fields('txt_field_1', 'John Doe')
В приведенном выше примере терпит неудачу с «неопределенным методом» ошибка. Я попытался использовать метод send()
как self.send('field') = 'John Doe'
безуспешно. Я почти уверен, что есть способ сделать это ... можете ли вы пролить свет на проблему?
Спасибо Джастин, ты прав, но то, что я ищу for - это способ, при котором «: txt_field_1» заполняется динамически во время выполнения, используя метод с параметром, который мы даже можем получить, используя определение шага. Я думаю, что, как указал Савва, использование метода с отправкой («# {field} =», content) - очень умный способ выполнить то, что нужно, и оно работает. – Ezetha
Если вы посмотрите на код, это именно то, что делает 'populate_page_with'. Нет ничего, что помешало бы вам выполнить 'example_page.populate_page_with field => content'. –
Абсолютно верно. Он работает плавно таким образом. – Ezetha