我在自學Rails,我試圖建立一種類似於Github的協作關係,將合作者添加到項目中。我的模型如下所示:設置用戶之間的關係以訪問資源
class Restaurant < ActiveRecord::Base
has_many :employees
has_many :users, through: :employees
end
class User < ActiveRecord::Base
has_many :employees
has_many :restaurants, through: :employees
end
class Employee < ActiveRecord::Base
belongs_to :restaurant
belongs_to :user
end
employee表還有一個user_type列來處理項目(餐廳)中的權限。我無法弄清楚如何讓我的employee_controller設置這種關係。用戶主鍵是:電子郵件,所以我猜表單應該能夠接收:email參數,檢查是否存在具有輸入電子郵件的用戶,並將關係添加到employees表中。
我希望能夠做這樣的事情:
Restaurant_A = Restaurant.create(restaurant_params)
User_A.restaurants = Restaurant_A
Restaurant_A.employees = User_B
我覺得我的模型可能是錯誤的,但本質上我希望能夠有用戶創建一個餐廳的能力以及作爲另一家餐館/他們自己的餐館的僱員加入。
我明白了,謝謝阿爾斯蘭:)。管理在創建餐廳時完成第一部分。如果在添加員工時遇到協會的另一端,請告知您。 –
肯定卡住了。你介意告訴我你將如何繼續並建立一個表單來檢索Rails 4中的email參數嗎?之後,我猜我可以按照User.find_by(email:params [:email])的方式做一些事情。 –
你想要用戶可以來的表單,把他的電子郵件,然後按提交按鈕?這是你想如何接收'電子郵件'參數? –