0

テストでこれを使用しようとしました

<%= f.input :user, :label => 'Usuario: ' , :as => :select , :collection => @users  , :include_blank => true %>

そしてうまくいきませんでした....

しかし、次のように切り替えると:

<%= f.input :user_id, :label => 'Usuario: ' , :as => :select,      :collection => Hash[@users.map{|b| [b.nickname,b.id]}] , :include_blank => true%>

それは動作しますか?誰も理由を知っていますか?

また、すべてをコードにまとめました。

<%= f.input :user, :label => 'Usuario: ' , :as => :select , :collection => @users  , :include_blank => true %>

<%= f.input :user_id, :label => 'Usuario: ' , :as => :select,      :collection => Hash[@users.map{|b| [b.nickname,b.id]}] , :include_blank => true%>

しかし、最初のものは機能しませんでした (@user 変数で somente が間違っているかどうかを確認するためだけに行いました)。

モデルに何か関係がありますか?誰も理由を知っていますか?

4

1 に答える 1

0

formtastic ドキュメントから: 多くの入力は、選択できるオプションのコレクションを提供します ( :select:radio:check_boxesなど:boolean)。多くの場合、Formtastic はモデルの関連付けを通じて選択肢を見つけることができますが、独自の選択肢のセットを使用する場合は、:collectionオプションが必要です。オブジェクトの配列、文字列の配列、ハッシュ…を渡すことができます。

ドキュメントを確認できます

collectionハッシュまたは配列を受け取ることが期待されますが、渡すときに@userモデルのインスタンス変数を渡すと機能しません。

于 2013-09-10T21:43:48.750 に答える