【发布时间】:2011-04-26 03:47:49
【问题描述】:
我正在尝试设置配置文件控制器以与设计注册成员一起使用。
我创建了Profile 模型和控制器,并通过将belongs_to :member 添加到我的profile.rb 模型和has_one :profile 在我的member.rb 中添加了one-to-one relationship 模型。
创建我使用的嵌套资源:
devise_for :members, :path => "accounts",:path_names => { :sign_in => "login", :sign_out => "logout", :sign_up => "register" }
resources :members do
resources :profiles
end
调用rake routes 输出
member_profiles GET /members/:member_id/profiles(.:format) {:action=>"index", :controller=>"profiles"}
POST /members/:member_id/profiles(.:format) {:action=>"create", :controller=>"profiles"}
new_member_profile GET /members/:member_id/profiles/new(.:format) {:action=>"new", :controller=>"profiles"}
edit_member_profile GET /members/:member_id/profiles/:id/edit(.:format) {:action=>"edit", :controller=>"profiles"}
member_profile GET /members/:member_id/profiles/:id(.:format) {:action=>"show", :controller=>"profiles"}
PUT /members/:member_id/profiles/:id(.:format) {:action=>"update", :controller=>"profiles"}
DELETE /members/:member_id/profiles/:id(.:format) {:action=>"destroy", :controller=>"profiles"}
在浏览器中转到localhost:3000/members/1/profiles 会正确地将我路由到profiles#index 页面,但是当我尝试调用member_profiles_path 时它会失败并出现以下错误:
No route matches {:controller=>"profiles"}
谁能看到我在哪里出错了?我正在使用 Rails 3.0.3。
【问题讨论】:
标签: ruby-on-rails devise