form_for 嵌套在 rails 中
Nested form_for in rails
我有 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.How 创建新用户??
您应该能够应用相同的原则。下面是一个基本框架,您必须根据自己的要求进行更改。
测试模型
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 %>
我有 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.How 创建新用户??
您应该能够应用相同的原则。下面是一个基本框架,您必须根据自己的要求进行更改。
测试模型
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 %>