상당히 간단한 앱으로 작업하고 있습니다. 그 중 하나는 부서 (department.rb)와 사용자 (user.rb)의 두 가지 모델이 있다는 것입니다. 부서에는 많은 사용자와 사용자가 부서에 속해 있습니다.중첩 리소스로 작성 - 경로
사용자 인증을 위해 Devise (3.0.0.rc & Rails 4.0.0.rc1)를 사용 중이며 department_id를 외래 키로 사용자 모델에 추가했습니다.
사용자에게 논리적 인 것처럼 보이는 경로를 얻는 데 문제가 있습니다. 부서별 홈페이지로 이동하여 해당 페이지에서 가입하거나 로그인 할 수있는 옵션이 있습니다. 뭔가 예 : www.example.com/departments/department:id/sign_in
Devise가 참여하지 않고서는 내 routes.rb의 간단한 중첩 된 리소스로이를 수행 할 수 있다고 생각합니다. 내가 시도 고안를 사용
resources :departments do
resources :users
end
:처럼 뭔가 내가 잘못된 길을 향하고하고 쉬운 방법은 아마이 있다고 할 생각합니다, 그래서 이것은 라우팅 많은 오류를 생성
resources :departments do
devise_for :users, :path => ''
end
. 레일에 상당히 새롭기 때문에 누군가가 올바른 해결책을 제시 할 수 있기를 바랍니다.
내 user.rb 모델 :
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
belongs_to :department
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :department_id, presence: true
end
내 department.rb 모델은 다음과 같습니다
class Department < ActiveRecord::Base
has_many :users
.... All my validation rules
end