我在用户和注册之间有1:1的has_one / belongs_to关系。一个用户只有一个注册。
当我尝试在视图中迭代用户并显示他们的注册信息(要跟随的来源)时,我收到以下错误:
ActionView :: TemplateError:当你没想到它时,你有一个nil对象!评估nil.registration_code
时发生错误
以下是令人讨厌的观看代码:
<% @users.each do |user| %>
<%= user.registration.registration_code %>
<% end %>
在我的users_controller.rb中:
def users_registration_codes
@users = User.find(:all)
end
答案 0 :(得分:3)
这里可能存在的问题是你找到了一个没有相关注册的特定用户 - 即不是那个用户== nil,而是user.registration == nil所以当你尝试调用registration_code()时它会抱怨不存在的相关注册对象
尝试
<% @users.each do |user| %>
<%= user.registration.registration_code if user.registration %>
<% end %>