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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

Q&A

解決済

2回答

1912閲覧

Vue.js のコンポーネント内に記述したスタイルが本番環境で適用されない

RubtMDqy2op3pZh

総合スコア8

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

0グッド

0クリップ

投稿2019/09/27 09:28

編集2019/09/27 10:16

前提・実現したいこと

Vue.jsとRuby on Rails を使用して、webサイトを作成しています。
本番環境にてコンポーネントファイルに記述したスタイルが反映されません。
script部分は問題なく動作します。
コンポーネントファイル以外app/assets/stylesheetsのスタイルは反映されています。
ローカル環境では、スタイルは反映されます。
対処方法ご存知の方見えましたらご教授願います。

発生している環境

AWS
Rails バージョン 5.2.3
Nginx
unicorn
Vue.js

コンポーネントファイル一例

<template> <div id="form"> <hr /> <h2 class="form-h2">"{{book.title}}" が好きな理由</h2> <!-- <BookInfo :book="book"></BookInfo> --> <div class="emotion-list"> <div class="emotion-list__view"> <div class="emotion-list__view__data"> <img v-if="book.image.length != 0" :class="{ linkable }" :src="book.image" class="data__image"/> <img v-else :class="{ linkable }" src="../../assets/noimage.png" class="data__image"/> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <div class="data"> <div class="title"> <div class="readed_at"> <span class="date-label">読了日</span> <el-date-picker type="date" v-model="form.read"></el-date-picker> </div> </div> </div> <div class="lead"> <el-form-item prop="memo"> <p class="lead">この本が好きな理由</p> <el-input type="textarea" maxlength="200" resize="none" v-model="form.memo"></el-input> </el-form-item> <div class="tag-btn"> <el-input type="text" maxlength="8" resize="none" v-model="form.tag" class="emotion-tag" placeholder="タグ付け(感動,シリアス)"></el-input> <el-button type="primary" @click="createBook" class="emotion-btn">登録</el-button> </div> </div> </el-form> </div> </div> </div> </div> </template> <style> .el-form-item{ margin-bottom: 0px !important; } .el-form-item__content{ margin-left: 0px !important; } .el-form{ padding: 0 30px; } .el-textarea{ height: 200px; width: 400px; } .el-textarea__inner{ height: 200px; width: 400px; resize: none; padding: 0 12px; border-radius: 5px; background-color: rgba(238, 238, 238, 0.1); } .el-input__inner{ width: 220px !important; } </style> <style scoped> .form-h2{ padding: 20px 40px; font-size: 38px; font-weight: bold; } .emotion-list{ word-wrap:break-all; display: flex; margin: 0 0 20px 0; } .emotion-list__view{ padding: 20px 70px 40px 40px; } .emotion-list__view__data{ display: flex; position: relative; width: 150%; } .data__image{ width: 186px; height: 276px; } .lead{ font-size: 18px; width: 400px; } .tag-btn{ display: flex; margin-top: 5px; } .emotion-tag{ width: 60px; } .emotion-btn{ margin-left: 270px !important; } </style>

###Nginx設定ファイル rails.conf

upstream app_server { server unix:/var/www/<アプリケーション名>/tmp/sockets/unicorn.sock; } server { server_name <Elastic IP>; root /var/www/<アプリケーション名>/public; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } error_page 500 502 503 504 /500.html; }

試したこと

Production.rbを下記の様にしてデプロイしてみましたがダメでした。

config.public_file_server.enabled = true

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

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

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

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

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

guest

回答2

0

自己解決

railsのビュー側の

%router-view

を記載している箇所に下記記述したらいけました????

= stylesheet_pack_tag 'main'

投稿2019/09/28 05:18

RubtMDqy2op3pZh

総合スコア8

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

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

0

RAILS_ENV=production rails assets:precompile
しましたか?
その後で サーバ再起動しましたか?

投稿2019/09/27 11:03

winterboum

総合スコア23347

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

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

RubtMDqy2op3pZh

2019/09/27 11:49 編集

はい RAILS_ENV=production rails assets:precompile実施したのち unicorn nginx起動しています ????
winterboum

2019/09/27 12:14

nginx ではなく、pumaとかunicornの方です
RubtMDqy2op3pZh

2019/09/27 12:36

はい unicornも再起動しています????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問