路径错误渲染部分另一个没有模型的控制器

时间:2015-04-30 19:04:17

标签: ruby-on-rails

我可以渲染部分和所有这些,但问题是当我想将表单提交给另一个控制器时,我收到路径错误。

所以我有这个主页,准确的狂欢。使用其控制器创建表单。我希望这个表格在狂欢的主页内。但是当我到达我的页面并单击按钮时,它会给我路由错误。当我渲染局部并将文件更改为视图时,我可以看到我的表单。我没有模特。我只想简单地提交给控制器。

主狂欢页面上的

<%= render partial: '/contact/maillist' %>

也尝试了

<%= render template: '/contact/maillist' %>

查看,也尝试了controller: /contact

<%= form_tag({controller: "contact", action: "maillist"}, method: "post") do %>
  <%= text_field_tag :email, params[:email] %>
  <%= submit_tag "Add Me", remote:true %>
<% end %>

控制器

class ContactController <Spree::BaseController 
def maillist
    #...whatever, don't think this is the issue?
end
end

的routes.rb

#things i tried...all doesn't work

 get 'contact/maillist' => 'contact#maillist'
 post 'contact/maillist' => 'contact#maillist'
 match 'contact', to: 'contact#maillist', via: :post

1 个答案:

答案 0 :(得分:0)

您应该将form_tag更改为以下

之一
<%= form_tag('contact/maillist', method: "post") do %>

<%= form_tag(url_for(controller: 'contact', action: 'maillist'), method: "post") do %>