在fields_for循环中获取对象字段的值

时间:2010-12-26 20:21:37

标签: ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3 formtastic

在以下场景中,我需要检查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 个答案:

答案 0 :(得分:69)

Formtastic为Rails代码添加了其他功能,但不会删除现有功能,因此以下内容适合您:

rd.object.review_criteria_id

'object'可以在普通的Rails表单助手中使用来访问底层绑定对象,而Formtastic则尊重这个约定。

答案 1 :(得分:10)

我明白了,我可以用

rd.object.review_criteria_id

objectfields_for循环的默认包装器对象。