提交表单时出现“没有路线匹配[POST]”错误

时间:2018-07-13 07:07:46

标签: ruby-on-rails

我有路线:

post '/:locale/email/confirm', to: 'pages#email_confirm'

这是控制器动作:

def email_confirm
  render plain: params[:post].inspect
end

我有这个表格:

<%= form_tag(email_confirm_path, method: "post") do %>
  <dl class="cf">
    <dt class="required">Nama</dt>
    <dd><%= text_field_tag(:nama, "", class: 'input_text full') %></dd>
  </dl>
  <!-- More fields -->
  <ul class="form_btn cf">
    <li class="submit"><%= submit_tag("submit data") %></li>
  </ul>
<% end %>

我收到以下错误:

No route matches [POST]

我需要从控制器进行调试。谁能帮我吗?

2 个答案:

答案 0 :(得分:1)

根据共享的描述,似乎未生成您在表单中提到的相对路径,

将route.rb修改为以下代码:

post '/:locale/email/confirm', to: 'homes#dashboard', as: :email_confirm

现在运行

rake routes

然后检查前缀是否以“ email_confirm”的形式出现

答案 1 :(得分:0)

为您的路线添加别名,以便铁轨可以生成name-helper method

post '/:locale/email/confirm', to: 'pages#email_confirm' as: "email_comfirm"

然后在表单内部,可以使用email_confirm_path帮助方法。