Rob*_*eri 10 ruby-on-rails devise
我正在尝试设置配置文件控制器以与设计注册成员一起工作.
我已经创建了Profile模型和控制器,并one-to-one relationship通过添加belongs_to :member到我的profile.rb模型和has_one :profile我的member.rb模型中添加了一个.
要创建我使用的嵌套资源:
devise_for :members, :path => "accounts",:path_names => { :sign_in => "login", :sign_out => "logout", :sign_up => "register" }
resources :members do
resources :profiles
end
Run Code Online (Sandbox Code Playgroud)
呼叫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"}
Run Code Online (Sandbox Code Playgroud)
要localhost:3000/members/1/profiles在浏览器中正确的路线我的profiles#index网页,但是当我尝试调用member_profiles_path失败,出现以下错误:
No route matches {:controller=>"profiles"}
Run Code Online (Sandbox Code Playgroud)
有人能看到我在哪里错了吗?我正在使用rails 3.0.3.
mbr*_*ing 10
由于这是一个has_one关联,您是否尝试过使用资源而不是资源?
resources :members do
resource :profile
end
Run Code Online (Sandbox Code Playgroud)
那么你应该能够做到这样的事情:
link_to "Profile", member_profile_path(@member)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3714 次 |
| 最近记录: |