🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Yarn

Yarnは、Facebook/Exponent/Google/Tildeが開発したJavaScriptのパッケージマネージャ。npmよりもインストールが速く、厳密にモジュールのバージョンを固定できるなど、npmの問題を解決。npmと互換性があり、同じpackage.jsonを使用できます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

3491閲覧

undefined method `javascript_pack_tag' NoMethodError in Entrances#index 完全にハマりました

SETO22

総合スコア3

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Yarn

Yarnは、Facebook/Exponent/Google/Tildeが開発したJavaScriptのパッケージマネージャ。npmよりもインストールが速く、厳密にモジュールのバージョンを固定できるなど、npmの問題を解決。npmと互換性があり、同じpackage.jsonを使用できます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/03/23 18:57

編集2021/03/25 00:27

前提・実現したいこと

発生している問題・エラーメッセージ

undefined method `javascript_pack_tag' for #<#<Class:0x00000000044567b8>:0x00000000060d1730> Did you mean? javascript_path javascript_tag

該当のソースコード

app/views/layouts/application.html.erb

<%= javascript_pack_tag 'application' ,'data-turbolinks-track':'reload'%> </head> <body>

app/views/entrances/index.html.erb (viewファイル)

<head> <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> </head>

試したこと

yarn をインストール。
<%= javascript_pack_tag 'application' ,'data-turbolinks-track':'reload'%>をコメントアウトしたりしてみたが、エラーが変わらない。

仮説として、jsファイルが適切な場所に置かれていないことが原因かもしれない。
また、NoMethodError in Entrances#indexと書いてあるので、viewfileにも原因がある可能性がある。

補足情報(FW/ツールのバージョンなど)

Rails 6.0.3.4
yarn 1.22.10
ruby 2.6.5p114
unicorn v5.8.0
nginx version: nginx/1.18.0

追記

現在,エラー箇所がこのように空欄となっています。
https://gyazo.com/da60a4db6e291496c5a40e09c7d6fb18

winterboum 様のご指摘の元、unicorn.logを確認いたしました。

Traceback (most recent call last): 8: from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn:23:in `<main>' 7: from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn:23:in `load' 6: from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/bin/unicorn:128:in `<top (required)>' 5: from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/bin/unicorn:128:in `new' 4: from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/lib/unicorn/http_server.rb:79:in `initialize' 3: from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/lib/unicorn/http_server.rb:79:in `new' 2: from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/lib/unicorn/configurator.rb:78:in `initialize' 1: from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/lib/unicorn/configurator.rb:87:in `reload' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.8.0/lib/unicorn/configurator.rb:723:in `parse_rackup_file': rackup file (restart) not readable (ArgumentError)

ラックアップファイル(再起動)が読み取れません(ArgumentError)とあるので、unicorn関係がおかしい可能性があります。

###ローカル環境
ローカル環境では、<%= javascript_pack_tag 'application' ,'data-turbolinks-track':'reload'%>をコメントアウトすると、bootstrapが機能しませんでした。
画面表示はされます。

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

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

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

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

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

winterboum

2021/03/23 23:05

「コメントアウトしたりしてみたが、エラーが変わらない。」というのが??? コメントアウトしたのなら無視されるから undefined method がでるとは思えない。 コメントアウトの仕方を間違えたか、他にもこの記述があるか。 削除してためし、同じエラーがでるなら、全検索
winterboum

2021/03/23 23:44

本番環境! pumaかUnicornかわかりませんが、それrestartしてください。
SETO22

2021/03/24 00:41 編集

unicorn restartしましたが、エラーが治りませんでした。
winterboum

2021/03/24 03:20 編集

コメントアウトして、restartしたら変わるのでは? いや、、 これは解決への手順ではないのですが、jsをとり込もうとしているのが他にはないよね、ということを確認するためです
SETO22

2021/03/24 07:07 編集

そうだったんですか.. unicorn restartしたときのlogを追記しました。 errorが起きているみたいです,,,。 ラックアップファイル(再起動)が読み取れません(ArgumentError) これは確実にどこかがおかしいですね...。
guest

回答1

0

自己解決

webpackがおかしかったようです。
<%= javascript_pack_tag 'application' ,'data-turbolinks-track':'reload'%>を
コメントアウトした後に、sudo rebootを本番環境で行ったらうまくいきました。
ただし、javascript_pack_tagをコメントアウトすると、deleteメソッドが使えなくなり削除機能が実装できなくなります。

投稿2021/03/25 05:24

編集2021/04/07 04:34
SETO22

総合スコア3

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問