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/1/cocoa/3.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 如何将新表单从不同视图呈现到application.html.erb中_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby 如何将新表单从不同视图呈现到application.html.erb中

Ruby 如何将新表单从不同视图呈现到application.html.erb中,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我有一个反馈控制器和它的视图,我想在我的导航栏中创建一个反馈链接,那么如何将反馈的新操作和创建操作导入到我的应用程序控制器中呢?。我发现了一个gem render_组件,它也有同样的功能,但它已经被分解了。您可以将content_用于: 在feeback视图中,可以添加以下内容: <% content_for :feedback_form do %> <%= FEEDBACK LINK GOES HERE %> <% end %> <head>

我有一个反馈控制器和它的视图,我想在我的导航栏中创建一个反馈链接,那么如何将反馈的新操作和创建操作导入到我的应用程序控制器中呢?。我发现了一个gem render_组件,它也有同样的功能,但它已经被分解了。

您可以将content_用于:

在feeback视图中,可以添加以下内容:

<% content_for :feedback_form do %>
  <%= FEEDBACK LINK GOES HERE %>
<% end %>
<head>
  <title>My App</title>
  <%= yield %>

  ....

  <%= yield :feeback_form %>  
</head>

在application.html.erb中,您将看到如下内容:

<% content_for :feedback_form do %>
  <%= FEEDBACK LINK GOES HERE %>
<% end %>
<head>
  <title>My App</title>
  <%= yield %>

  ....

  <%= yield :feeback_form %>  
</head>

我的应用程序
....

但是反馈控制器的新建和创建操作如何将它们放入application controller?您不会为此使用新操作,因为没有专门用于反馈表单的单独页面。实际上,当点击导航栏中的链接时,它会打开一个新的模式弹出窗口。尽管如此,由于HTML最终位于application.HTML.erb上,您不会使用单独的新操作(除非模态包含iframe,而iframe不是)。没有HTML不在同一页面上,反馈是不同的控制器,因此它在不同的视图中,因此,当我单击application.html.erb中的链接时,它应该打开反馈中的视图,这样它就应该将新的和创建的反馈动作呈现到应用程序控制器中。