正在使用Rails应用程序的家伙们,已经成功注册并登录到其仪表板的用户可以创建一个团队并成为领导者(邀请其他人通过电子邮件加入,删除现有成员等)或加入现有的作为成员的团队。(只能查看其他成员和有关他们自己的信息)我正在使用Devise gem进行用户登录/注册,因为它有很多我需要的东西。一个团队只有一名经理,并且有很多成员。香港专业教育学院尝试过的,用户属于团队,而团队有很多用户。 Ive还尝试了该关联,用户有一个团队,而团队有许多用户,但只有一名经理。我再次感到非常困惑。
user.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :confirmable
validates_presence_of :phone, :city, :state, :street, :zip, presence: true, on: :create
belongs_to :team
end
schema.rb
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "confirmation_token"
t.datetime "confirmed_at"
t.datetime "confirmation_sent_at"
t.string "firstname"
t.string "middlename"
t.string "lastname"
t.string "phone"
t.string "city"
t.string "state"
t.string "street"
t.string "zip"
t.bigint "team_id"
t.index ["team_id"], name: "index_users_on_team_id"
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
team.rb
class Team < ApplicationRecord
has_many :users, class_name: "User"
end
routes.rb
devise_for :users, path: 'users' , controllers: { sessions: "users/sessions", confirmations: 'users/confirmations', registrations: 'users/registrations' }