web-dev-qa-db-ja.com

fields_forループ内のオブジェクトフィールドの値を取得します

次のシナリオでは、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の値を取得できませんでした。

35
Nazar Hussain

Formtasticは、Railsコードに追加機能を追加しますが、既存の機能を削除しないため、次のように機能するはずです。

rd.object.review_criteria_id

'object'はプレーンRailsフォームヘルパーで使用して、基になるバインドされたオブジェクトにアクセスできます。Formtasticはこの規則を尊重します。

70
Scott

わかった、使える

rd.object.review_criteria_id

objectは、fields_forループのデフォルトのラッパーオブジェクトです。

11
Nazar Hussain