私のアプリケーションにはとがDwellings
ありRoomies
ます。ビューに認証を組み込んでいDwelling
ます-現在のユーザーだけusers
が特定のデータを表示できるはずです-他のすべてのユーザーには別のビューが表示されます。roomies
dwelling
これを有効にするために、でis_roomie?
メソッドを作成しましたUsers Controller
。メソッドは次のようになります。
## is_roomie? method in Users_Controller.rb ##
def is_roomie?
roomie_ids = []
@dwelling.roomies.each do |r|
roomies_ids << r.id
end
roomie_ids.include?(current_user.id)
end
Dwelling
ビューでこのメソッドを次のように呼び出します。
## show.html.erb (Dwelling) ##
....
<% if current_user && current_user.is_roomie? %>
....
これを実装した後にページをロードすると、次のNoMethoderrorが発生します。
住居のNoMethodError#show
>/Volumes/UserData/Users/jraczak/Desktop/Everything/rails_projects/Roomie/roomie/app/views/dwellings/show.html.erbを表示しています。
未定義のメソッド`is_roomie? ' #User:0x00000102db4608の場合>
いくつかの背景として、私はこれをDwelling
方法として試し、これをUser
モデルに移動して無駄にしました。ありとあらゆる洞察を事前に感謝します!