我想要的是能夠輕鬆地找到與成員關聯的團隊名稱,而無需向數據庫發送另一個請求。我的計劃是隻將一個team_name屬性添加到成員資格表中,但我想不出讓這個新屬性與團隊表中的name屬性保持同步的方法。換句話說,如果一個團隊的所有者改變了團隊的名字,那麼所有的團隊成員都會被更新(以新的團隊名稱),我希望這是一個例子。如何保持RoR中同步來自兩個不同表的屬性?
這是我的設置看起來像。我對Rails相當陌生。
/app/models/membership.rb
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :team
end
/app/models/team.rb
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :team
end
/app/db/schema.rb
ActiveRecord::Schema.define(version: 20161022002620) do
create_table "memberships", force: :cascade do |t|
t.integer "user_id"
t.integer "team_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "teams", force: :cascade do |t|
t.string "name"
t.integer "user_id"
end
end
如果有更好的方法來實現我所要求的,那麼請讓我知道。
什麼我想能夠做的是一樣的東西: – Jesse
我編輯的答案 –
User.memberships.first.name,並將它返回的成員是與球隊的名字。 – Jesse