2016-08-19 5 views
0

私は動的コンテンツを持つクラスを持っています。今動的、マルチレベルのハッシュでform_forを実行する方法?

def new 
    @person = Person.new(:info => {:first_name => "Joe", :last_name => "Smith"}) 
end 

、私は手動での構造調整をしていたという事実は無視:私は、コントローラの新しい方法でそれを初期化する(私は別のクラスに保存されているメタ構成を有していて、私のコントローラとフォームの間で情報を、私は抽象的なヘルプを求めるためにこれを単純化しています)、first_nameとlast_nameのフィールドを設定するにはどうすればよいですか?これは失敗します。これは、任意の助け

no implicit conversion of Symbol into Integer 

おかげで失敗

<%= form_for @person do |f| %> 
    <% f.text_field :info[:first_name] %> 
<% end %> 

答えて

3

はあなたに感謝し、この

<%= form_for @person do |f| %> 
    <%= f.fields_for :info do |ff| 
    <% ff.text_field :first_name %> 
    <% end %> 
<% end %> 
+0

完璧を試してみてください。 – user1130176

+0

@ breno-preucchiこれは新しく作成して(私はデータを見ることができますが)編集しません。編集時には、HTMLにパラメータがありますが、入力ボックスが空白になるように値がありません。検査はこれを示します: <入力タイプ= "テキスト"名前= "人[情報] [ファーストネーム]" しかし、それは空白(バリューセットなし)、任意のアイデアなぜですか? – user1130176

+0

と私は新しいファーストネームを入力した場合、データベースに行くので、それも更新で動作します。 – user1130176

関連する問題