0

我的路线.rb

resources :users do
    resources :requests , :only => [:new,:create,:destroy]
end

用户.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

请求.rb

class Request < ActiveRecord::Base
    attr_accessible :email, :status, :user_id
    belongs_to :user
end

用户登录后,从 user.show 页面我传递了一个链接

<li><span>  <%= link_to "Send Request" , new_user_request_path(@user)  %> </li>

我的路径显示正确,但在 request.new 下未显示,并且出现以下错误。

路由错误

No route matches {:controller=>"users", :action=>"edit"}

我是rails新手,有谁能帮帮我。

谢谢

4

1 回答 1

0

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

edit_user_request_path(@user, @request)

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

于 2012-08-23T07:02:13.990 回答