[解決済み] NoMethodError nil:NilClass の未定義メソッド `name' です。
2022-02-27 07:27:38
質問
postとcategoryの2つのモデルを持っています。投稿のインデックスと表示ビューの両方で、各投稿のカテゴリ名を表示しようとしています。テーブル結合を使用しています。しかし、問題は、showビューではカテゴリが適切に表示されているのに、インデックスビューではNoMethodError: undefined method `name' for nil:NilClass が表示されることです。なぜショー・ビューでは表示され、インデックス・ビューでは表示されないのかが分かりません。
index.html.erb
<% @posts.each do |post| %>
<h2><%= link_to post.title, post %></h2>
<p>বিভাগঃ <%= post.category.name %></p>
<p><%= post.body %></p>
<%= link_to 'দেখুন', post, class: "button tiny" %>
<%= link_to 'সম্পাদনা', edit_post_path(post), class: "button tiny" %>
<% end %>
show.html.erb
<h2><%= link_to @post.title, @post %></h2>
<h5>বিভাগঃ <%= @post.category.name %></h5>
<p><%= @post.body %></p>
post.rb
class Post < ActiveRecord::Base
validates_presence_of :title, :body, :category
has_many :comments
belongs_to :category
end
category.rb
class Category < ActiveRecord::Base
has_many :posts
end
解決方法は?
あなたの
@posts
インスタンス変数には
Post
は、何らかの理由で親である
Category
. を避けることができます。
NilClass
エラーは、それぞれの
Post
には、関連する
Category
をクリックすると、カテゴリ名が表示されます。
<%= post.category.name if post.category %>
または
が存在するので
Post
に関連付けられていない
Category
をチェックする条件式でブロック全体を囲むとよいでしょう。
Category
:
<% @posts.each do |post| %>
<% if post.category %> # Check for parent category
# Remaining code
<% end %>
<% end %>
関連
-
[解決済み】 nil:NilClass に対して未定義のメソッド `each' がある...なぜ?
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み】コレクションをDESCで並べる方法
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Ruby on Railsのためにnetbeansを構成する方法は?
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] "render :nothing => true" は空のプレーンテキストファイルを返すのですか?
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] サーバーに接続できませんでした。そのようなファイルまたはディレクトリがありません (PG::ConnectionBad)
-
[解決済み】Rails 4 RoutingError: ルートが一致しない[POST]。
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] 該当するルートがない [GET] "demo/hello"
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] Ruby on Railsでsimple_formを使うさまざまな方法|何が違うの?
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] rails/rubyでgroup_byを使用する。