我的 routes.rb
resources :users do
resources :requests , :only => [:new,:create,:destroy]
end
user.rb
class User < ActiveRecord::Base
attr_accessor :password
attr_accessible :email, :firstname, :lastname, :state, :city, :password, :password_confirmation, :image
# mount_uploader :image, ImageUploader
has_many :requests
request.rb
class Request < ActiveRecord::Base
attr_accessible :email, :status, :user_id
belongs_to :user
end
用户登录后,从user.show页面I传递链接
<li><span> <%= link_to "Send Request" , new_user_request_path(@user) %> </li>
我的路径显示正确,但在request.new下没有显示,我收到了以下错误。
路由错误
No route matches {:controller=>"users", :action=>"edit"}
我是铁杆新手,任何人都可以帮助我。
由于
答案 0 :(得分:0)
看起来您正在调用edit
操作,而不是new
操作。这可以解释错误,因为您需要将请求与用户一起传递给edit_user_request_path
(因为请求是嵌套资源),如下所示:
edit_user_request_path(@user, @request)
请再次检查您的代码以查看错误实际来自。