我的应用程序有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 其中第 5 行提出:
未定义的方法“is_roomie?” 对于#用户:0x00000102db4608>
对于某些背景,我确实尝试过将其作为一种Dwelling
方法并将其移入User
模型中,但无济于事。提前感谢您的任何见解!