我正在解决我无法解决的问题。has_many通过一个额外的列
我有以下几点:
组表:
create_table "groups", :force => true do |t|
t.string "name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
Groupships表:
create_table "groupships", :force => true do |t|
t.integer "group_id"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.boolean "owner"
t.text "permission"
end
group.rb:
class Group < ActiveRecord::Base
belongs_to :user
has_many :groupships
has_many :groups, through: :groupships
end
groupship.rb:
class Groupship < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
我想通过groupship查看用户是否是组的所有者以及用户拥有什么权限。 这是可能的,还是我必须做一个group_perssions表?
我在一个视图中尝试这样做:
<% @groups.each do |group| %>
<div class="well well-small">
<h3><%= group.name %></h3>
Owner: <%= group.groupships.owner %> //True or false readout for development.
</div>
<% end %>
你的意思是说群体有很多用户通过群组?你的意思是说一个团体有很多团体吗?你的组模型对我来说似乎很奇怪。 – cdesrosiers