【发布时间】:2012-11-10 21:18:47
【问题描述】:
我的应用程序有Dwellings 和Roomies。我正在 Dwelling 视图中构建一些身份验证 - 只有当前 roomies 的 users dwelling 应该能够查看某些数据 - 所有其他用户将看到不同的视图。
为了实现这一点,我在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#show
显示 >/Volumes/UserData/Users/jraczak/Desktop/Everything/rails_projects/Roomie/roomie/app/views/dwellings/show.html.erb 其中第 5 行出现:
未定义的方法`is_roomie?'对于#User:0x00000102db4608>
对于某些背景,我确实尝试过将此作为Dwelling 方法并将其移至User 模型中,但无济于事。提前感谢您提供任何和所有见解!
【问题讨论】:
标签: ruby-on-rails methods nomethoderror