Получить значение поля объекта внутри цикла fields_for - PullRequest
36 голосов
/ 26 декабря 2010

В следующем сценарии мне нужно проверить значение свойства объекта в цикле fields_for.

<%= f.semantic_fields_for :review_details do |rd| %>
  <%= rd.input :review_criteria_id, :as=>:hidden %>
<% end %>

Как и в цикле, :review_criteria_id отображается как скрытое поле, но яУ меня есть сценарий, в котором я должен распечатать дополнительную информацию, если это определенный критерий.Как я могу получить значение review_criteria_id в цикле.Я использовал:

rd.review_criteria_id

Но так как rd является объектом формы, поэтому я не мог получить значение :review_crieteria_id.

Ответы [ 2 ]

69 голосов
/ 26 декабря 2010

Formtastic добавляет дополнительные функции в код Rails, но не забирает существующую функциональность, поэтому для вас должно работать следующее:

rd.object.review_criteria_id

'object' может использоваться в простых помощниках форм Rails для доступа к базовому связанному объекту, и Formtastic соблюдает это соглашение.

10 голосов
/ 26 декабря 2010

Я понял, я могу использовать

rd.object.review_criteria_id

object - объект-оболочка по умолчанию для цикла fields_for.

...