1

Rails アプリのユーザー プロファイル ページで、次のエラーが表示されます。

undefined method `title' for nil:NilClass

次の 3 行のコードが原因であることがわかっています。

<% if @user.profile.title %>
     <%= @user.profile.title %>
<% end %>

理由がわかりません。if文を使っているので、タイトルがあるかチェックして、あるなら表示し、なければ表示しないほうがいいのではないでしょうか。何が問題で、どうすれば修正できますか? ありがとう。

4

3 に答える 3

3

nil なので、あなたのようにそれtitleに対してテストすることはできません。試す:

<% if @user.profile.try(:title) @user.profile.title %>
于 2013-10-25T17:05:37.113 に答える
3

できるよ:

<% if @user.profile.present? %>
  <%= @user.profile.title %>
<% end %>

または試してみてください:

<%= @user.profile.try(:name) %>

プロファイルが関連付けられていない場合のデフォルト値:

<%= @user.profile.try(:name) || 'No profile for this user' %>
于 2013-10-25T17:17:58.083 に答える
0

正しくないからです。ユーザーからいくつかのパラメーターにアクセスしたい場合は、直接アクセスを使用する必要があります。ただし、 User モデルに属するプロファイルを使用する場合は、この リンクを参照してください

于 2013-10-25T17:06:53.520 に答える