我有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。我想为现有的测试创建新用户。怎么做?
答案 0 :(得分: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 %>