作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有交货问题。
我得到了这个错误:
NoMethodError in PagesController#send_message
undefined method `delivery_handler=' for #< Message:0x00000004db9648>
app/mailers/contact.rb:22:in `send_email'
app/controllers/pages_controller.rb:65:in `send_message'
<h1><%= @page.title %></h1>
<%= @page.content.html_safe %>
<%= form_for @message, :url => "/pages/send_message" do |f| %>
<% if flash[:notice] %>
<% flash[:notice].full_messages.each do |msg| %>
<p><%= msg %></p>
<% end %>
<% end %>
<div class="field">
<%= f.label :email %>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :body %>
<%= f.text_area :body %>
</div>
<%= f.submit "Envoyer" %>
<% end %>
class Message
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :email, :body
validates :email,:body, :presence => true
validates :email, :format => { :with => %r{.+@.+\..+} }, :allow_blank => true
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
def send_message
@message = Message.new(params[:message])
if @message.valid?
Contact.send_email(@message).deliver
redirect_to request.referer, :notice => "Le message a été envoyé."
else
redirect_to request.referer, :notice => "Vous n'avez pas entrer votre email."
end
end
class Contact < ActionMailer::Base
attr_accessor :email, :message
default to: "bla@bla.com"
default from: "blo@blo.com"
def send_email(message)
@message = message
mail(:subject => "Nouveau contact blo")
end
end
config.action_mailer.default_url_options = {
host: 'localhost:3000'
}
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :sendmail
config.action_mailer.sendmail_settings = {
location: '/usr/sbin/sendmail',
arguments: "-i -t -f contact@test.com"
}
最佳答案
在您的邮件中,删除 attr_accessor :message
或者叫它别的东西。ActionMailer::Base
已经有一个消息访问器可以获取/设置 Mail::Message
正在 build ,所以一些 rails 正在调用 message
希望得到一个 Mail::Message
但正在获取您的 Message 类。
关于ruby-on-rails - Rails 3 - 未定义的方法 `delivery_handler=',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045981/
我有交货问题。 我得到了这个错误: NoMethodError in PagesController#send_message undefined method `delivery_handler='
我是一名优秀的程序员,十分优秀!