在尝试加载 form_tag 和控制器操作时设计 ActionController::UrlGenerationError

Devise ActionController::UrlGenerationError when trying to load form_tag and controller action

我正在向我的 Rails 5 应用程序添加设计,当我转到 /users/sign_in 时,我收到此错误:

No route matches {:action=>"email_signup", :controller=>"devise/jobs"}

错误在这里:

<%= form_tag({controller: "jobs", action: "email_signup"}, method: "post") do %>
            <%= text_field_tag(:email_address, nil, placeholder: 'Email Address') %>
            <p><div class="button-wrap"><button data-dialog="maildialog" class="mailtrigger">Sign Me Up</button></div></p>
          <% end %>

似乎设计正在尝试在设计自己的路线的上下文中寻找路线。解决此问题的最佳方法是什么?

这对我有帮助:rails form_tag url path

我将 form_tag 更改为使用路由而不是指定控制器并解决了问题:

<%= form_tag(email_signup_jobs_path, method: "post") do %>
    <%= text_field_tag(:email_address, nil, placeholder: 'Email Address') %>
    <p><div class="button-wrap"><button data-dialog="maildialog" class="mailtrigger">Sign Me Up</button></div></p>
<% end %>