2016-08-19 7 views
0

TestモデルとUserモデルがあります。 Testモデルには多くのものがありますusers。テストコントローラは以下の通りです。入れ子になったform_for in rails

class TestController 
    def create 
     Test.create(testparams) 
    end 

    private 
    def testparams 
     params.require(:test).permit(:test_name,user_attributes:[:user_name]) 
    end 
end 

上記のコードでは、新しいテストが作成されます。私は既存のテストのために新しいユーザーを作成したいと思います。

+0

あなたはレールネストされたフォームをグーグル場合は、あなたが始めるために資源の多くを見つけるでしょう。レールガイド(http://guides.rubyonrails.org/form_helpers.html#nested-forms)から始めてください。 – margo

+0

私の質問は、既存のオブジェクト(ここではテストオブジェクト)の入れ子form_forについてです –

答えて

2

同じ原則を適用できるはずです。以下は、要件に応じて変更する必要がある基本的なフレームワークです。

テストモデル

accepts_nested_attributes_for :users, allow_destroy: true 

tests_controller

def edit 
    @test = Test.find(params["id"] 
    @test.users.build 
end 

def update 
    @test = Test.find(params["id"] 
    @test.update(testparams) 
end 

テストビュー

<%= form_for @test do |f| %> 
    <%= f.text_field :test_name %> 

    <%= f.fields_for :users do |uf| %> 
    <%= uf.text_field :user_name %> 
    <% end %> 
<% end %> 
+0

アップデートは仕事をしてくれるものですu –

関連する問題