【问题标题】:Associated objects not accessible in views in Rails? nil object error在 Rails 的视图中无法访问关联的对象?零对象错误
【发布时间】:2009-07-22 02:48:10
【问题描述】:

我在用户和注册之间有 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

【问题讨论】:

    标签: ruby-on-rails ruby model-view-controller


    【解决方案1】:

    这里可能的问题是您正在查找没有关联注册的特定用户 - 即不是那个 user == nil,而是那个 user.registration == nil 所以当您尝试调用registration_code()时它会抱怨不存在的关联注册对象

    试试

    <% @users.each do |user| %>
      <%= user.registration.registration_code if user.registration %>
    <% end %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 2014-02-02
      • 1970-01-01
      • 2017-08-13
      相关资源
      最近更新 更多