Здравствуйте, я получаю недостающую ошибку шаблона в моем коде для формы контакта, которую я создаю, несмотря на то, что файлы находятся в том, что я считаю правильным местом, и все остальное точно так же, как действие Я внимательно следил за учебниками. Я даже переделал почтовую программу, и она все равно не сработает.Действие Mailer Отсутствует Ошибка шаблона, если тело не указано
contactmailer
class ContactMailer < ApplicationMailer
default from: '[email protected]'
layout 'mailer'
def notify(contact)
@contact = contact
mail(to: '[email protected]', subject: 'Notification')
end
end
контакт контроллер
def create
@contact = Contact.new(contact_params)
if @contact.save
ContactMailer.notify(@contact).deliver_now
redirect_to root_path
else
render :new
end
end
просмотров/contact_mailer/notify.text.erb Test
конфиг/development.rb
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Do not eager load code on boot.
config.eager_load = false
# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = true
# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log
# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true
# Asset digests allow you to set far-future HTTP expiration dates on all assets,
# yet still be able to expire them through the digest params.
config.assets.digest = true
# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
config.assets.raise_runtime_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
# SMTP settings for gmail
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:enable_starttls_auto => true,
:user_name => '[email protected]',
:password => 'examplepassword',
:authentication => "plain",
:ssl => false
:openssl_verify_mode => 'none'
}
end
если добавить параметры тела по почте она работает, но не работает иначе.
EDIT: ERROR ПОЛУЧЕНИИ
ContactMailer#notify: processed outbound mail in 31.9ms
Completed 500 Internal Server Error in 61ms (ActiveRecord: 3.7ms)
ActionView::MissingTemplate (Missing template layouts/mailer with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :slim, :coffee, :jbuilder]}. Searched in:
* "/home/ubuntu/workspace/autosales2/app/views"
):
app/mailers/contact_mailer.rb:7:in `notify'
app/controllers/contacts_controller.rb:15:in `create'
Rendered /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/templates/rescues/_source.erb (11.1ms)
Rendered /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (5.2ms)
Rendered /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms)
Rendered /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb within rescues/layout (93.5ms)
Вы также должны добавить ошибку с обратным отсчетом. –