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

Naz*_*ain 35 ruby-on-rails ruby-on-rails-plugins formtastic ruby-on-rails-3

在以下场景中,我需要检查fields_for循环中对象属性的值.

<%= f.semantic_fields_for :review_details do |rd| %>
  <%= rd.input :review_criteria_id, :as=>:hidden %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在循环中,:review_criteria_id渲染为隐藏字段,但我有一个场景,如果它是一个特定的标准,我必须打印更多的信息.如何获得review_criteria_id循环中的值.我用了:

rd.review_criteria_id
Run Code Online (Sandbox Code Playgroud)

但既然rd是形式上的对象,那么我就无法得到它的价值:review_crieteria_id.

Sco*_*ott 70

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

rd.object.review_criteria_id
Run Code Online (Sandbox Code Playgroud)

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


Naz*_*ain 11

我明白了,我可以用

rd.object.review_criteria_id
Run Code Online (Sandbox Code Playgroud)

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