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

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

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

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

Q&A

解決済

2回答

583閲覧

undefined method `stylename' for nil:NilClassのエラーで困っています

jin_707502345

総合スコア8

Ruby on Rails 6

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

0グッド

0クリップ

投稿2020/09/02 00:34

内容

railsの本を見ながらミニブログ作成しています。以下のようなエラーが出ました。イメージ説明

試したこと

blogs_controller.rbを確認して、メソッドを凝視しましたが、なんだかよくわかりません。
show.html.erbは問題ありません。
肝心なblogs.html.erbの8行目は直すところが見当たりません。

コード

blogs_controller.rb__

def index @data = Blogpost.order('created_at desc').page params[:page] @blogconfig = Blogconfig.find 1 end def genre @genre = Bloggenre.find params[:id] @data = Blogpost.where('bloggenre_id = ?' ,params[:id]).order('created_at desc').page params[:page] @blogconfig = Blogconfig.find 1 end def show @blogpost = Blogpost.find params[:id] @blogconfing = Blogconfig.find 1 end

show.html.erb

<h2 class="mb-5"><%= @blogpost.title %></h2> <p><%= @blogpost.read + '[' + @blogpost.bloggenre.name + ']' %></p> <%= @blogpost.content %> <p class="show_created">(<%= @blogpost.created_at %>)</p>

blogs.html.erb

<html> <head> <title>Blog</title> <%= csrf_meta_tags %> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.css"> <%= stylesheet_link_tag 'blogs', 'data-turbolinks-track': 'reload' %> <%= stylesheet_link_tag @blogconfig.stylename, 'data-turbolinks-track': 'reload' %> </head> <body class="container"> <header id="header"> <h1 class="display-4 mb-4"><a href="/blogs"><%= @blogconfig.title %></a></h1> <h2 class="h4 mb-4"><%= @blogconfig.subtitle %></h2> </header> <hr> <div id="side"> <% Bloggenre.all.each do |genre| %> <p><a href="/blogs/genre/<%= genre.id %>"><%= genre.name %></a></p> <% end %> </div> <main id="main"> <%= yield %> </main> </body> </html> コード

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

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

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

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

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

guest

回答2

0

ベストアンサー

「undefined method `stylename' for nil:NilClass」のエラーは、質問のスクリーンショットのピンクで網掛けされた行で起きています。

その行のコードは

<%= stylesheet_link_tag @blogconfig.stylename, 'data-turbolinks-track': 'reload' %>

ですので、@blogconfigがnil:NilClassになっているというのがエラーの直接の原因だと思われます。

原因の究明を、@blogconfigに代入しているコードの辺りの動作を確認することから、初めてはいかがでしょうか。

投稿2020/09/02 00:54

coco_bauer

総合スコア6915

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

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

jin_707502345

2020/09/02 03:59

解決いたしました! blogs_controller.rbにて@blogconfi(n)gと言うスペルミスが見つかりました! ご丁寧にありがとうございます!
guest

0

`stylename' というメソッドがnilの変数にくっついてるので、それが存在しない、とおっしゃってます。
そのメソッドがくっついてるブツのナカミになにが入ってるのかを見てみましょう。

投稿2020/09/02 00:53

y_waiwai

総合スコア88042

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問