我的應用程序有Dwellings
和Roomies
。我正在建立一些認證到Dwelling
視圖 - 只有users
誰是當前dwelling
的roomies
應該能夠查看某些數據 - 所有其他用戶將看到不同的視圖。控制器投擲方法定義NoMethodError
爲了實現這個功能,我在Users Controller
中創建了一個is_roomie?
方法。該方法是這樣的:
## 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 in Dwellings#show
Showing >/Volumes/UserData/Users/jraczak/Desktop/Everything/rails_projects/Roomie/roomie/app/views/dwellings/show.html.erb where line #5 raised:
undefined method `is_roomie?' for #User:0x00000102db4608>
對於一些背景,我確實嘗試了這種方法作爲Dwelling
方法,並將其移入User
模型無濟於事。預先感謝任何和所有的見解!
這很有用。我不會說我完全理解了第一段中描述的實際問題 - 即我不明白UsersController對象是什麼 - 但我會嘗試閱讀它。謝謝你修理我的路障。 – justinraczak
在users_controller.rb的頂部,您會看到控制器被定義爲'class UsersController