我正在构建项目管理应用程序,我正在使用form_for
创建项目,但在其中我想要一个fields for
来创建3个学生。在一个字段中的多个文本字段
我建立了我的new.html.erb
的项目是这样的:
<h1>Creating new project</h1>
<%= form_for :project, url: projects_path do |f| %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :lecturer %>
<%= f.text_field :lecturer %>
</p>
<p>
<%= f.fields_for :students do |s| %>
<%= s.label :name %>
<%= s.text_field :name %><br>
<%= s.label :name %>
<%= s.text_field :name %><br>
<%= s.label :name %>
<%= s.text_field :name %>
<% end %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
而对于jusst增加了一个简单的网上看到我的form_for
结果create
方法:
def create
render text: params[:project].inspect
end
所以,当我填写在页面上的文本字段,并提交我得到的所有是{"name"=>"asd", "lecturer"=>"ffff", "students"=>{"name"=>"qeew"}}
,因为你只能看到我的最后一个学生被传递给这本字典。
如何在一个fields_for
中创建多个学生?或者我如何设置这两个模型来相互配合。我希望你明白我的观点并知道我想达到什么目的。
@rohit,感谢您的编辑。 – vee
没问题。我通过手机编辑它,所以语法突出显示没有正确设置。我看到你再次编辑它:-) – Rohit