#現在の状況
環境はdocker toolboxです。
railsでログイン機能をつけるためにdevise gemをGemfileに追記し
docker
1docker-compose build
をしました。
config/locals/devise.en.ymlと
config/initializers/devise.rbが追加されていることは確認しました。
次にconfig/environments/development.rbにconfig.action_mailer.default_url_options = { host: 'localhost', port: 3000 }を追加し
end
config/environments/development.rb
1Rails.application.configure do 2 # Settings specified here will take precedence over those in config/application.rb. 3 4 # In the development environment your application's code is reloaded on 5 # every request. This slows down response time but is perfect for development 6 # since you don't have to restart the web server when you make code changes. 7 config.cache_classes = false 8 # Do not eager load code on boot. 9 config.eager_load = false 10 config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 11end 12 # Show full error reports. 13 config.consider_all_requests_local = true 14 15 # Enable/disable caching. By default caching is disabled. 16 if Rails.root.join('tmp/caching-dev.txt').exist? 17 config.action_controller.perform_caching = true 18 19 config.cache_store = :memory_store 20 config.public_file_server.headers = { 21 'Cache-Control' => 'public, max-age=172800' 22 } 23 else 24 config.action_controller.perform_caching = false 25 26 config.cache_store = :null_store 27 end 28 29 # Don't care if the mailer can't send. 30 config.action_mailer.raise_delivery_errors = false 31 32 config.action_mailer.perform_caching = false 33 34 # Print deprecation notices to the Rails logger. 35 config.active_support.deprecation = :log 36 37 # Raise an error on page load if there are pending migrations. 38 config.active_record.migration_error = :page_load 39 40 # Debug mode disables concatenation and preprocessing of assets. 41 # This option may cause significant delays in view rendering with a large 42 # number of complex assets. 43 config.assets.debug = true 44 45 # Suppress logger output for asset requests. 46 config.assets.quiet = true 47 48 # Raises error for missing translations 49 # config.action_view.raise_on_missing_translations = true 50 51 # Use an evented file watcher to asynchronously detect changes in source code, 52 # routes, locales, etc. This feature depends on the listen gem. 53 config.file_watcher = ActiveSupport::EventedFileUpdateChecker 54end 55
次にconfig/routes.rbを編集し
routes.rb
1Rails.application.routes.draw do 2 root to: "home#index" 3 resources :foods 4 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 5end
としapplication.html.erbに
<p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p>
を追加し
application.html.erb
1<body> 2 <nav class="navbar navbar-default"> 3 <div class="container-fluid"> 4 <!-- Brand and toggle get grouped for better mobile display --> 5 <div class="navbar-header"> 6 <a class="navbar-brand" href="/foods">Health & Muscle delivery</a> 7 </div> 8 <%= link_to "メニュー一覧", foods_path %> 9 <%= link_to "メニューの追加", new_food_path %> 10 <button type="button" class="btn btn-default navbar-btn">Sign in</button> 11 </div> 12 </nav> 13 <p class="notice"><%= notice %></p> 14 <p class="alert"><%= alert %></p> 15 <%= yield %> 16 </body>
としたところまで完了しています。
#エラー・詰まっているところ
上記の操作を行い、docker-compose コマンドを打とうとしたら
docker-compose run --rm web rails g devise:views
docker-compose run --rm web rails g devise User
このように操作が何も行われないまま、終了してしまっています。よろしくお願いします。
不足している情報があれば教えてください。
追加
docker-compose.yml
docker
1version: '3' 2services: 3 web: 4 build: . 5 command: bundle exec rails s -p 3000 -b '0.0.0.0' 6 volumes: 7 - .:/app 8 ports: 9 - 3000:3000 10 depends_on: 11 - db 12 tty: true 13 stdin_open: true 14 db: 15 image: mysql:5.7 16 volumes: 17 - db-volume:/var/lib/mysql 18 environment: 19 MYSQL_ROOT_PASSWORD: password 20volumes: 21 db-volume:
Dockerfile
dockerfile
1FROM ruby:2.4.5 2RUN apt-get update -qq && apt-get install -y build-essential nodejs 3RUN mkdir /app 4WORKDIR /app 5COPY Gemfile /app/Gemfile 6COPY Gemfile.lock /app/Gemfile.lock 7RUN bundle install 8COPY . /app
お願いします。