Я работаю над rails 4 и недавно установил гем devise_invitable. У меня есть модели «Студент» и «Учитель», в которых «Студент» получает приглашение от «Учителя», что означает, что «Учитель является приглашающим», а «Студент» - приглашенным.
Я добавил все необходимые столбцы в таблицу студентов следующим образом:
t.string "invitation_token"
t.datetime "invitation_created_at"
t.datetime "invitation_sent_at"
t.datetime "invitation_accepted_at"
t.integer "invitation_limit"
t.integer "invited_by_id"
t.string "invited_by_type"
t.integer "invitations_count", default: 0
Я вхожу через учетную запись учителя и теперь хочу пригласить ученика, когда я нажимаю на ссылку, чтобы пригласить ученика, она переходит по пути: «/students/invitation/new» и просит меня войти в систему как ученик, что не имеет смысла потому что я хочу пригласить ученика, тогда зачем мне входить в систему как ученик, даже если сеанс учителя уже существует, и он должен использовать объект учителя для приглашения ученика.
Я даже пытаюсь использовать код ниже, но он не работает:
class Teacher < ActiveRecord::Base
include DeviseInvitable::Inviter
end
Вот мои маршруты:
Prefix Verb URI Pattern Controller#Action
new_student_session GET /students/login(.:format) devise/sessions#new
student_session POST /students/login(.:format) devise/sessions#create
destroy_student_session DELETE /students/logout(.:format) devise/sessions#destroy
student_password POST /students/password(.:format) devise/passwords#create
new_student_password GET /students/password/new(.:format) devise/passwords#new
edit_student_password GET /students/password/edit(.:format) devise/passwords#edit
PATCH /students/password(.:format) devise/passwords#update
PUT /students/password(.:format) devise/passwords#update
cancel_student_registration GET /students/cancel(.:format) devise_invitable/registrations#cancel
student_registration POST /students(.:format) devise_invitable/registrations#create
new_student_registration GET /students/sign_up(.:format) devise_invitable/registrations#new
edit_student_registration GET /students/edit(.:format) devise_invitable/registrations#edit
PATCH /students(.:format) devise_invitable/registrations#update
PUT /students(.:format) devise_invitable/registrations#update
DELETE /students(.:format) devise_invitable/registrations#destroy
accept_student_invitation GET /students/invitation/accept(.:format) devise/invitations#edit
remove_student_invitation GET /students/invitation/remove(.:format) devise/invitations#destroy
student_invitation POST /students/invitation(.:format) devise/invitations#create
new_student_invitation GET /students/invitation/new(.:format) devise/invitations#new
PATCH /students/invitation(.:format) devise/invitations#update
PUT /students/invitation(.:format) devise/invitations#update
new_teacher_session GET /teachers/login(.:format) devise/sessions#new
teacher_session POST /teachers/login(.:format) devise/sessions#create
destroy_teacher_session DELETE /teachers/logout(.:format) devise/sessions#destroy
teacher_password POST /teachers/password(.:format) devise/passwords#create
new_teacher_password GET /teachers/password/new(.:format) devise/passwords#new
edit_teacher_password GET /teachers/password/edit(.:format) devise/passwords#edit
PATCH /teachers/password(.:format) devise/passwords#update
PUT /teachers/password(.:format) devise/passwords#update
cancel_teacher_registration GET /teachers/cancel(.:format) devise_invitable/registrations#cancel
teacher_registration POST /teachers(.:format) devise_invitable/registrations#create
new_teacher_registration GET /teachers/sign_up(.:format) devise_invitable/registrations#new
edit_teacher_registration GET /teachers/edit(.:format) devise_invitable/registrations#edit
PATCH /teachers(.:format) devise_invitable/registrations#update
PUT /teachers(.:format) devise_invitable/registrations#update
DELETE /teachers(.:format) devise_invitable/registrations#destroy
new_user_session GET /users/login(.:format) devise/sessions#new
user_session POST /users/login(.:format) devise/sessions#create
destroy_user_session DELETE /users/logout(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise_invitable/registrations#cancel
user_registration POST /users(.:format) devise_invitable/registrations#create
new_user_registration GET /users/sign_up(.:format) devise_invitable/registrations#new
edit_user_registration GET /users/edit(.:format) devise_invitable/registrations#edit
PATCH /users(.:format) devise_invitable/registrations#update
PUT /users(.:format) devise_invitable/registrations#update
DELETE /users(.:format) devise_invitable/registrations#destroy
static_pages_home GET /static_pages/home(.:format) static_pages#home
dashboard_teachers GET /teachers/dashboard(.:format) teachers#dashboard
root GET / static_pages#home
маршруты.rb
Rails.application.routes.draw do
devise_for :students, path_names: {sign_in: "login", sign_out: "logout"}
devise_for :teachers, path_names: {sign_in: "login", sign_out: "logout"}
devise_for :users, path_names: {sign_in: "login", sign_out: "logout"}
get 'static_pages/home'
resources :teachers, only: [] do
collection do
get :dashboard
end
end
root 'static_pages#home'
end
Благодарим вас заранее.
rake routes
- person Ronak Jain   schedule 08.06.2016