0
好的,這不應該太糟糕,但我很掙扎。基本上我有一個has_many :through
關聯,涉及user
模型,collective
模型和membership
模型(連接表)。我的會員模型有4個字段:id,user_id,collective_id和一個名爲owner的bool。我想要做的是測試current_user
是集體展示頁面上的集體所有者。不幸的是,當我嘗試這樣做時,我得到一個「未定義的方法」所有者「錯誤。在加入表中查找條目
另外值得一提的是,我已經確保在將用戶添加到組中時正確創建成員關聯,因此我認爲該關聯不成問題。
集體的show.html.erb
<% if @collective.memberships.where(:user_id => current_user.id).owner? %>
<%= link_to '(Add User)', '#' %>
<% end %>
集體控制器
def show
@collective = Collective.find(params[:id])
end
會員制模式
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :collective
validates :user_id, presence: true
validates :collective_id, presence: true
validates :owner, presence: true
end
幫助將不勝感激。非常感謝!
啊我看到
另一種方式來做到這一點:
添加
first
接受單個對象Membership
。太棒了!我有一種感覺,有一種更流暢的方式來做到這一點。 – Ben 2014-11-08 23:28:21太棒了,看看'exists?'docs(它不限於加入模型):) – mohameddiaa27 2014-11-08 23:30:32
會做。謝謝! – Ben 2014-11-08 23:37:18