質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

1158閲覧

2モデル間のPaperclipの使用について

yaxshi_qolaman

総合スコア8

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2018/05/29 12:19

UserモデルとPostモデルがあります。
Paperclipを用いてプロフィール画像を設定できるようにしました。
画像はUserデーブルのavatarに保存してあります。

ブログ一覧ページで、ブログタイトルと、ブログ投稿者のプロフィール画像をセットで表示したいのですが、> undefined method `avatar' for nil:NilClass となってしまいます。

# user.rb has_many :posts # post.rb belongs_to :user

モデルの関係性は以上のように定義してあります。

<% @posts.each do |post| %> <ul class="collection"> <li class="collection-item valign- <%= image_tag post.user.avatar.url(:thumb), :class => 'circle responsive-img' %>&emsp; <!-- insert title --> <%= link_to post.title, post_path(post) %> </li> </ul> <% end %>

以上のように書いたところ、エラーが生じてしまいます。
どなたかわかる方、教えていただけると嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

undefined method `avatar' for nil:NilClass というエラーメッセージから、
post.user が nil になってしまっているものが存在することが読み取れます。

sql

1select posts.id, posts.user_id, users.id from posts left outer join users on posts.user_id = users.id;

↑のSQLで users.id 列が空になってるものがないかどうかご確認ください。

投稿2018/05/29 21:09

set0gut1

総合スコア2413

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yaxshi_qolaman

2018/06/06 13:00

無事解決しました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問