Rails 3路由发出路由错误

时间:2012-08-23 06:47:19

标签: ruby-on-rails ruby ruby-on-rails-3

我的 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"}

我是铁杆新手,任何人都可以帮助我。

由于

1 个答案:

答案 0 :(得分:0)

看起来您正在调用edit操作,而不是new操作。这可以解释错误,因为您需要将请求与用户一起传递给edit_user_request_path(因为请求是嵌套资源),如下所示:

edit_user_request_path(@user, @request)

请再次检查您的代码以查看错误实际来自。