我在用户控制器视图中的Users#new中遇到NoMethodError。以下是观点:
<h1>new</h1>
<%= form_for @user do |f| %>
<p>
<%= f.label :username %> <br />
<%= f.text_field :title %>
</p>
<p>
<%= f.label :email %> <br />
<%= f.email_field :email %>
</p>
<p>
<%= f.label :password %> <br />
<%= f.password_field :password %>
</p>
<% end %>
这是放在app / views / users / new.html.erb中 这是我的控制器:
class UsersController < ApplicationController
def new
@user = User.new
end
end
这是我的路线:
signup GET /signup(.:format) users#new
错误:
undefined method `users_path' for #<#<Class:0x007f22fe85bb00>:0x007f22fe827058>
提前致谢。
答案 0 :(得分:0)
由于您没有使用传统资源,因此您必须提供form_for
的网址。
<%= form_for @user, url: signup_path do |f| %>
答案 1 :(得分:0)
您已为/signup
添加了自定义网址助手,即signup_path
。
您需要在form
代码中指定:
<%= form_for @user, url: signup_path do |f| %>
答案 2 :(得分:0)
我认为应该是
new_user_path
但是如果使用
rake routes
在命令行中或浏览到不存在的页面,您将看到已注册的路径列表。
希望有所帮助