Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 嵌套形式问题_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 嵌套形式问题

Ruby on rails 嵌套形式问题,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一些代码: index.html.haml: = form_tag 'search/index', :id => "index_form" do /* some fields there */ = render :partial => 'geo_form', :object => @geo = submit_tag 'Search' = form_tag 'search/save_geo', :id => "geo_form" do /* some

我有一些代码:

index.html.haml:

= form_tag 'search/index', :id => "index_form" do
  /* some fields there */
  = render :partial => 'geo_form', :object => @geo
  = submit_tag 'Search'
= form_tag 'search/save_geo', :id => "geo_form" do
  /* some fields there */
  = submit_tag 'Accept'
_geo_form.html.haml:

= form_tag 'search/index', :id => "index_form" do
  /* some fields there */
  = render :partial => 'geo_form', :object => @geo
  = submit_tag 'Search'
= form_tag 'search/save_geo', :id => "geo_form" do
  /* some fields there */
  = submit_tag 'Accept'
问题是:当我完成第二个(嵌套)表单并按下“接受”按钮时,rails处理第一个表单。单击“接受”按钮后,如何让程序处理第二个表单

谢谢

您可以对嵌套表单使用
field\u方法。

正确的方法是对
使用
fields\u方法。它实际上并不创建一个新的表单标记,而是排列字段名,以便您可以调用@model.update_属性(params[:model])和这两个模型都将被更新(假设它们具有某种ActiveRecord关系,如
:has_many
:belies_to

代码将如下所示:

form_for @my_model1 do |f|
    f.text_field :name
    f.fields_for @my_nested_model do |nested|
        nested.text_field :start_date
您可以在本railscast中找到详细信息: