【发布时间】:2014-02-08 02:55:41
【问题描述】:
使用 rails 4 并尝试找出如何在配置文件和计划中为 devise_user 执行嵌套路由
这是我的路线.rb
devise_for :users, :path => '', :path_names => {:sign_in => 'login', :sign_out => 'logout'}
resource :profile , :only => [ :edit, :update]
resource :plan
以下是我如何设计在注册时添加个人资料,以防您想知道
class User < ActiveRecord::Base
has_one :profile, dependent: :destroy
after_create :create_profile
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
private
def create_profile
self.profile = Profile.create
end
end
【问题讨论】:
-
在您的
routes.rb文件中,如果您想为控制器定义RESTful 路由,请使用复数resources而不是单数resource。例如:您应该将resource :plan更改为resources :plan。 -
@KirtiThorat
resource对于单一资源应该没问题,我认为profile在这种情况下就是这样。见ActionDispatch::Routing::Mapper::Resources -
@Tim 感谢您扩展我的知识。
标签: devise ruby-on-rails-4 routes nested-attributes