私はRials 5にメール機能を組み込んで連絡先フォームを作ろうとしています。 通常のコントローラーのようにまとめて、メーラーをモデルとして表示します。しかし、私はすべてそれを書かれている場合、私はエラーが表示されます:Mailer - Rails 5のための未定義のメソッド `model_name '
undefined method `model_name' for #ContactMailer
連絡先はメーラーの名前です。 railsサーバーを実行しているnew.html.erbページを表示しようとすると、エラーが表示されます。それは次のようになります。ここでは Screen Shot
は、私が働いているコードです:
contacts_controller.rb
class ContactsController < ApplicationController
def new
@contact = ContactMailer.new
end
def create
@contact = ContactMailer.new(params[:name, :email, :message])
if @contact.deliver
flash[:success] = "Your message has been sent."
else
flash[:error] = "There was a problem sending your message."
render 'new'
end
end
そして
new.html.erb
<%= form_for @contact do |f| %>
<div class="form-group">
<%= f.label :name %>
<%= f.text_field :name, class: 'form-control' %>
</div>
<div class="form-group">
<%= f.label :email %>
<%= f.email_field :email, class: 'form-control', required: true %></div>
<div class="form-group">
<%= f.label :message %>
<%= f.text_area :message, class: 'form-control' %>
</div>
<%= f.submit "Send", class: 'btn btn-default' %>
<% end %>
生成されたメーラーとビューもありますしかし、私はそれらで何も変えていない。
エラーを調べることができたことから、@contact変数を初期化していない可能性がありますが、私はそれを信じています。そして、今私は失われています。どんな助けもありがとう。
追加情報: 私の計画は、この連絡用紙がヘロクの送信グリッドを使用してメールを送信することです。