0

メールの送信を簡単にサポートするために、Rails 4 でテーブルレス モデルを作成していました。

だから私は次のモデルを持っています:

class Message
  include ActiveModel::Model

  attr_accessor :subject, :content, :email
end

次のコントローラー:

class MessagesController < ApplicationController
  def new
    @message = Message.new
  end

 def create
   message = Message.new(params[:message])
   if message.valid?
     UserMailer.send(message)
     redirect_to :back, :notice => "Email was successfully sent."
   else
     flash[:alert] = "You must fill all fields."
     render 'new'
   end
 end
end

フォーム:

<%= form_for @message do |f| %>
  <%= f.label :email %>
  <%= f.text_field :email %>

  <%= f.label :subject %>
  <%= f.text_field :subject %>

  <%= f.label :content %>
  <%= f.text_area :content, rows: 5, class: 'span7' %>
  <%= f.submit "Send Email", class: 'btn btn-primary' %>

<% end %>

しかし、ここにメールを送信しようとすると、次のようになります。

#<Message:0x007fcc98e8c760 @errors=#    <ActiveModel::Errors:0x007fcc98e96788 @base=#<Message:0x007fcc98e8c760 ...>, @messages={}>,     @email="sdsadas@adasdas.com", @subject="adasdas", @content="asdsad", @validation_context=nil> is not a symbol

エラーは、ここ UserMailer.send(message) にあると言います

誰かが私を助けることができますか?

4

1 に答える 1