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

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

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

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

Ruby on Rails 6

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Ruby on Rails

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

Q&A

1回答

1158閲覧

heroku上でアセットが表示されない

yonekoman

総合スコア7

Ruby

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

Ruby on Rails 6

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2020/05/31 01:42

編集2022/01/12 10:55

勉強を始めたばかりのビギナーです(ProgateでRuby on Railsのパスを終わった程度)
頓珍漢なご質問かもしれませんが、どうかご教示ください。
かなりググったり、いろんなことを数日間したのですが、どうしても解決できないため、質問させていただきます。

<最終的にやりたいこと>
既存のアプリ(以前にある会社に作ってもらったアプリ)を放置していたので、それを改めて開発・運用できる状況にしたい。(平行して、別途トレーニングアプリを自分で勉強しながら作り、ある程度力が付いたら既存アプリにも手を入れていきたい)

既存アプリ:ruby 2.3.4 / Rails 4.2.1

<現状>
まずはCSS周りだけでも触っていければと思いましたがRubyのバージョンも古く、rbenvでインストールできなかったり、herokuのCeder14に引っかかり、pushもできませんでした。
そのため、どうせならバージョンを上げようと思い、cloneしてきたアプリを下記のバージョンにあげる作業をしています。

ruby "2.7.1" / 'rails', '6.0.3'

すっとばし過ぎなのかもしれませんが、いろんなエラーと格闘しながら、なんとかherokuへPushできるところまできましたが、500エラーで正常稼働しません。正確には、ヘッダー、フッター部分と全体のフレームは表示されますが画面メイン部分は500エラー―となります。ヘッダーのメニューリンクをクリックしても該当の静的ページすら表示されず500エラーや404エラーとなります。

エラーページは表示されているので、どうもアセットがちゃんとLoadで来てないのかなと思いながら、グーグル先生と格闘しましたが、どれをやってもうまくいきません。
なお、localでは正常に表示されています。

<Tryしたこと>
・localでプリコンパイルする
・heroku側でdb:migrate/ restartする
・12factor対応としてproduction.rbに指示された記載をする
ほかにもいろいろ試したが、もう何をやったかも忘れるくらい悩み続けています・・・。
・404エラーが出ていて、/assets以下のフォルダにGETできていないのかな?と思いながら見てますが、原因までたどりつけていません。

heroku logs

2020-05-31T01:54:14.096527+00:00 heroku[router]: at=info method=GET path="/assets/murakushu_top_2-14ac461ec82a828e7d2566d6f7debca5c4022bcc9a3e409d7fb797f2269eb60f.jpg" host=sengoku-staging.herokuapp.com request_id=958773f7-2a79-4cc2-a6cc-1c298a4cf687 fwd="119.104.26.146" dyno=web.1 connect=1ms service=63ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:03.908205+00:00 heroku[router]: at=info method=GET path="/about/grade" host=sengoku-staging.herokuapp.com request_id=24275bac-a40c-49d9-8ceb-754063449313 fwd="119.104.26.146" dyno=web.1 connect=2ms service=21ms status=500 bytes=6271 protocol=https 2020-05-31T01:55:04.305646+00:00 heroku[router]: at=info method=GET path="/assets/jquery.narrows-ff44ce77e70cdab26e8833daeab09f751a16662d35eb8354d9d8de313d1570b9.js" host=sengoku-staging.herokuapp.com request_id=b4ae512c-7b95-4780-85be-85a8d9f2d71b fwd="119.104.26.146" dyno=web.1 connect=1ms service=78ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:04.263402+00:00 heroku[router]: at=info method=GET path="/assets/main-0a988f8ddc9cacf19b0627458380a655ffc5830bf3b2249c6aa7b73e2c685548.js" host=sengoku-staging.herokuapp.com request_id=ce77f6ad-ed88-494d-9a0a-c685518008cb fwd="119.104.26.146" dyno=web.1 connect=0ms service=58ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:04.527650+00:00 heroku[router]: at=info method=GET path="/assets/murakushu_top_2-14ac461ec82a828e7d2566d6f7debca5c4022bcc9a3e409d7fb797f2269eb60f.jpg" host=sengoku-staging.herokuapp.com request_id=8c4938e8-e1a8-4aa7-835c-a0f9e0560e7f fwd="119.104.26.146" dyno=web.1 connect=0ms service=42ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:07.680366+00:00 heroku[router]: at=info method=GET path="/about/premium" host=sengoku-staging.herokuapp.com request_id=fa90304f-35b9-4eb3-bd70-4871a963e21a fwd="119.104.26.146" dyno=web.1 connect=1ms service=12ms status=500 bytes=6271 protocol=https 2020-05-31T01:55:08.042505+00:00 heroku[router]: at=info method=GET path="/assets/main-0a988f8ddc9cacf19b0627458380a655ffc5830bf3b2249c6aa7b73e2c685548.js" host=sengoku-staging.herokuapp.com request_id=33c90f0b-7958-47a2-ae35-a5a2890e4c9a fwd="119.104.26.146" dyno=web.1 connect=0ms service=72ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:08.041187+00:00 heroku[router]: at=info method=GET path="/assets/jquery.narrows-ff44ce77e70cdab26e8833daeab09f751a16662d35eb8354d9d8de313d1570b9.js" host=sengoku-staging.herokuapp.com request_id=7f3a112d-558d-4ba4-baf7-2ee2a2fbe3b6 fwd="119.104.26.146" dyno=web.1 connect=0ms service=67ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:08.321123+00:00 heroku[router]: at=info method=GET path="/assets/murakushu_top_2-14ac461ec82a828e7d2566d6f7debca5c4022bcc9a3e409d7fb797f2269eb60f.jpg" host=sengoku-staging.herokuapp.com request_id=831ee0b9-1605-4cf7-a970-451a6c665086 fwd="119.104.26.146" dyno=web.1 connect=0ms service=52ms status=404 bytes=6227 protocol=https 2020-05-31T01:55:08.329952+00:00 heroku[router]: at=info method=GET path="/assets/jquery.narrows-ff44ce77e70cdab26e8833daeab09f751a16662d35eb8354d9d8de313d1570b9.js" host=sengoku-staging.herokuapp.com request_id=9f19af48-4fa4-48d3-b32d-882daf4e32be fwd="119.104.26.146" dyno=web.1 connect=0ms service=59ms status=404 bytes=6227 protocol=https (一部抜粋)

イメージ説明

routes.rb

Rails.application.routes.draw do mount Ckeditor::Engine => '/ckeditor' get 'mypage/index' get 'mypage/my_article' resources :articles do get 'list' resources :comments, :only => [:create, :destroy] resources :sub_images, :only => [:create] get 'manage' post 'publish', action: 'publish', as: 'publish' end delete 'delete_media', to: "sub_images#delete_media" post 'like/:article_id' => 'likes#like', as:'like' delete 'unlike/:article_id' => 'likes#unlike',as:'unlike' get 'privacy/index' get 'privacy/tokusho' get 'term/index' get 'about/grade' get 'about/premium' get 'about/howto' get 'premium/index' get 'premium/confirm' get 'premium/thanks' get 'inquiry/index' get 'inquiry/confirm' get 'inquiry/thanks' devise_for :users, controllers: { sessions: 'users/sessions', registrations: 'users/registrations', passwords: 'users/passwords', omniauth_callbacks: 'users/omniauth_callbacks', confirmations: 'users/confirmations' } devise_for :admins, controllers: { sessions: 'admins/sessions', passwords: 'admins/passwords', registrations: 'admins/registrations' } resources :sites, :only => [:create, :new, :index] resources :guides, :only => [:show] resources :profiles do member do get "articles" end end namespace :manage do get 'tops' => 'tops#index' get 'download' => 'tops#download' resources :users, :only => [:edit, :update, :destroy, :index]do end resources :articles, :only => [:edit, :update, :destroy, :index] do end resources :sites, :only => [:edit, :update, :destroy, :index] do end resources :headlines resources :guides resources :banners end root 'articles#list' get '/sitemap' => redirect('https://s3-ap-northeast-1.amazonaws.com/sogoo/sitemaps/sitemap.xml.gz') match ':controller(/:action(/:id))', via: [:get, :post, :patch ] end

gemfile

ruby "2.7.1" gem 'rails', '6.0.3' gem 'net-ssh' gem 'pg' group :development, :staging do # gem 'sqlite3' =>staging(heroku)では使いえないためdev&test groupへ gem 'letter_opener' gem 'bullet' gem 'pry-byebug' gem 'annotate' gem 'hirb' gem 'hirb-unicode' gem 'better_errors' end gem 'dotenv-rails' group :development, :test do gem 'byebug' gem 'web-console', '~> 2.0' gem 'sqlite3' end gem "paranoia" # 論理削除 gem "ransack" # 検索 gem 'kaminari' # ページんぐ gem 'backport_new_renderer' #renderメソッドをControllerの外で使えるように gem 'semantic-ui-sass', github: 'doabit/semantic-ui-sass' #semantic-ui gem "jquery-turbolinks" # Turbolinksで遷移したときもjQuery.ready()を呼び出してくれる gem 'sass-rails', '~> 5.0' # sass gem 'uglifier', '>= 1.3.0' # 圧縮方法 gem 'coffee-rails' # coffeescript gem 'mail-iso-2022-jp' #ISO-2022-JPなエンコードのメールを送信 gem "gmaps4rails" gem "geocoder" gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder', '~> 2.0' gem 'sdoc', '~> 0.4.0', group: :doc gem 'less-rails' gem 'therubyracer' gem 'nested_form' gem 'whenever', require: false gem 'carrierwave' gem 'fog', '1.28.0' gem "mini_magick" gem 'simple_form' gem 'momentjs-rails' gem 'datetimepicker-rails', github: 'zpaulovics/datetimepicker-rails', branch: 'master', submodules: true gem 'google-analytics-rails' gem 'yui-compressor', '~> 0.12.0' gem 'devise' gem 'omniauth' gem 'omniauth-facebook', github: 'mkdynamic/omniauth-facebook' gem 'newrelic_rpm' gem "meta-tags" gem "config" gem 'sitemap_generator' gem "slim-rails" gem 'html2slim' # The bxslider-rails is a gem with bxSlider (jQuery HTML Content Slider) gem 'bxslider-rails' gem 'dropzonejs-rails' gem 'puma' gem 'rubyzip', '>= 1.0.0' # will load new rubyzip version gem 'zip-zip' # will load compatibility for old rubyzip API. gem 'ckeditor', '4.3.0' gem 'counter_culture', '~> 0.1.33' gem 'rspec-rails' gem 'rack' gem 'xmlrpc'

production.rb

Rails.application.configure do config.force_ssl = true config.cache_classes = true config.eager_load = true config.consider_all_requests_local = false config.action_controller.asset_host = 'https://murakushu.com/' config.action_mailer.asset_host = config.action_controller.asset_host config.action_mailer.default_url_options = { :host => 'murakushu.com' } config.public_file_server.enabled = true config.assets.js_compressor = :uglifier config.assets.compile = false config.assets.digest = true config.log_level = :debug config.i18n.fallbacks = true config.active_support.deprecation = :notify config.log_formatter = ::Logger::Formatter.new config.active_record.dump_schema_after_migration = false config.action_mailer.default_url_options = { :host => "murakushu.com" } config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :user_name => ENV['SENDGRID_USERNAME'], :password => ENV['SENDGRID_PASSWORD'], :domain => "murakushu.com", :address => "smtp.sendgrid.net", :port => 587, # ssl:587, plain:25 :authentication => :plain, :enable_starttls_auto => true } end

恐縮ですが、お気づきの点があればご指摘いただけると幸いです。
もしくは、既存のアプリを別のやり方でひとまず触れるようにできる方法があれば、それもご教示願えると嬉しいです。
文字制限で必要そうなログを全部掲載できていないので、情報足りないことがあるかと存じますが、何卒よろしくお願い申し上げます。

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

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

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

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

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

winterboum

2020/05/31 12:15

そのlogには500も404もないですね。 その場所を載せてください。 localでは動くのですね?
yonekoman

2020/05/31 13:15

ありがとうございます。Logを張り替えました。ほとんどが404で、文字制限の関係でlogには載せてませんが、一部htmlの時に500が出ているようです。 また、herokuアプリ画面(Top画面)の画像を掲載しました。表示は500エラーとなっており、上部のメニューボタンを押すと簡単なHTML画面でさえも表示されず、この画面のままとなっています。
guest

回答1

0

404については、可能性は二つ
1)実際にはあるのに、無いと言われる
2)実際にない

public/assets を確認しましたか?
例えば ls public/assets/murakushu_top_2-14ac461ec8*
してみてください。
assets:precompileはしましたか?

500の時のlogはどんななのでしょうか

投稿2020/05/31 14:38

winterboum

総合スコア23284

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

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

yonekoman

2020/06/03 08:46

ご回答ありがとうございます!いただいたアドバイスを元に、現在試行錯誤中です。 アセットのURLベタ打ちではアクセスできることが分かりました。 assets:precompileも実施しております。 ほとんど404なのですが、一部500が出ています。logはっ気の通りです。 2020-06-01T14:23:41.428257+00:00 heroku[router]: at=info method=GET path="/about/howto" host=sengoku-staging.herokuapp.com request_id=8113b5b3-cc79-465a-b03b-4308f6d4b41e fwd="119.104.35.241" dyno=web.1 connect=1ms service=43ms status=500 bytes=6271 protocol=https どうもassetsへのパスがおかしいと思うので、継続調査いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問