我有Test
模型和User
模型。Test
模型具有较多的users
。测试控制器如下:
class TestController
def create
Test.create(testparams)
end
private
def testparams
params.require(:test).permit(:test_name,user_attributes:[:user_name])
end
end
在上面的代码中,将创建新的Test。我想为现有的测试创建新用户。怎么做? 您应该能够应用相同的原则。下面是一个基本的框架,你可以根据自己的需求进行修改。
测试模型
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 %>