Rail 5系+Dockerにて、railsチュートリアル (5.0.0)をやっております。
11章 11.2 アカウント有効化のメール送信でつまづいております。
rails チュートリアル
最後にメイラーのプレビューにおいて、
http://localhost:3000/rails/mailers/user_mailer/account_activation
とローカル環境のurlを打ち込むと、下記エラーがでます。
account_activation.html.erbは以下です。
app/views/user_mailer/account_activation.html.erb
1<h1>Sample App</h1> 2 3<p>Hi <%= @user.name %>,</p> 4 5<p> 6Welcome to the Sample App! Click on the link below to activate your account: 7</p> 8 9<%= link_to "Activate", edit_account_activation_url(@user.activation_token, 10 email: @user.email) %> 11
開発環境をDockerでおこなっており、DockerfileとDockercompose.ymlは以下です。
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 9
Dockercompose.yml
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: 22 23
チュートリアル にもとづき、config/environments/development.rbにおいて、localhost:3000を指定しています。
config/environments/development.rb
1 2Rails.application.configure do 3 4~~~~ 5 6 # Don't care if the mailer can't send. 7 config.action_mailer.raise_delivery_errors = true 8 9 #チュートリ 11chコピー 10 config.action_mailer.delivery_method = :test 11 host = 'localhost:3000' 12 config.action_mailer.default_url_options = { host: host, protocol: 'http' } 13 14 ~~~ 15
hostの設定が間違っているのでしょうか?
ご教示いただければ幸いです。
あなたの回答
tips
プレビュー