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

You can write helper method do avoid code duplication.

In helper:

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

In View: <%= sender_name(@message) %>

于 2012-12-16T03:17:43.427 に答える