2014-02-06 3 views
0

Я имею дело с проблемой и не могу найти умное решение. Вкратце: представьте себе, у нас есть много элементов текстового поля, определенных в стр-объекте как:Как заполнить несколько текстовых полей 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' безуспешно. Я почти уверен, что есть способ сделать это ... можете ли вы пролить свет на проблему?

ответ

2

На основе этого примера вы можете использовать драгоценный камень страницы страницы, встроенный в метод populate_page_with. Если предположить, что текстовые поля определяются на странице объекта уже, то вы можете сделать:

example_page.populate_page_with :txt_field_1 => 'John Doe' 

Или несколько полей, как:

example_page.populate_page_with :txt_field_1 => 'John Doe', :txt_field_2 => 'Jane Doe' 
+0

Спасибо Джастин, ты прав, но то, что я ищу for - это способ, при котором «: txt_field_1» заполняется динамически во время выполнения, используя метод с параметром, который мы даже можем получить, используя определение шага. Я думаю, что, как указал Савва, использование метода с отправкой («# {field} =», content) - очень умный способ выполнить то, что нужно, и оно работает. – Ezetha

+0

Если вы посмотрите на код, это именно то, что делает 'populate_page_with'. Нет ничего, что помешало бы вам выполнить 'example_page.populate_page_with field => content'. –

+0

Абсолютно верно. Он работает плавно таким образом. – Ezetha

Смежные вопросы