1

我是Rails的新手。

至此,我想出了如何制作模型、控制器、视图和路由。

我现在面临的问题是,当值为 nil 时如何在视图中设计代码。
显然,当引用的值为 nil 时,它会返回错误。

现在,在每个部分,我都这样编码以避免错误。
这正常吗???

特别是,我使用acts_as_paranoid 进行逻辑删除。
所以在大多数情况下,这种事情会发生在我的 rails 应用程序上。

  <% if @messages.sender %>  
    <%= @messages.sender.user_profile.nickname %> (<%= @messages.sender.username %>)
  <% else %>
    Resigned User!
  <% end %>
4

1 回答 1

2

您可以编写辅助方法来避免代码重复。

在助手中:

def sender_name(msg)
  if msg.sender
    "#{msg.sender.user_profile.nickname} (#{msg.sender.username})"
  else
    "Resigned User!"
  end
end

在视图中:<%= sender_name(@message) %>

于 2012-12-16T03:17:43.427 回答