我有一个模型“旅行”,我希望只能让“群组”中的某些用户创建“评论”。
当我第一次创建旅行模型时,我将其设置为只有一个用户可以编辑它。现在,我希望能够邀请其他用户进行编辑。现在正在绊倒我的部分(双关语)是我同时拥有trip belong_to :user
(创建它的用户)和trip has_many :users, :through => :group
。
问题:
感谢。
user.rb
class User < ActiveRecord::Base
has_many :trips, :through => :groups
has_many :trips, :dependent => :destroy
has_many :groups
has_many :comments, :dependent => :destroy
end
group.rb
class Group < ActiveRecord::Base
belongs_to :trip
belongs_to :user
end
trip.rb
class Trip < ActiveRecord::Base
belongs_to :user
belongs_to :traveldeal
has_many :groups
has_many :users, :through => :groups
end
comment.rb
class Comment < ActiveRecord::Base
belongs_to :user
belongs_to :commentable, :polymorphic => true
end
查看(show.html.erb)
<% unless @user.trips.empty? %>
<% @user.trips.each do |trip| %>
<!-- Content here -->
<% end %>
<% end %>
答案 0 :(得分:0)
普通Rails
约定可以调用类似Group
的{{1}}模型来指定它正在加入的两个表,但这些连接表是关系数据库的自然副产品。您必须为每位受邀参加旅行的人继续创建一个新的TripPerson
对象。