Ruby on rails 对接触式轨道4有何建议

Ruby on rails 对接触式轨道4有何建议,ruby-on-rails,Ruby On Rails,我是Rails的新手,试图为我的应用程序创建一个联系人表单,但如果不关联模型,我无法在Emailer类中捕获来自联系人表单(如姓名和消息)的参数。有什么建议吗?下面是类和控制器的列表。 我的Emailer类是: class Contact < ActionMailer::Base default from: "from@example.com" # Subject can be set in your I18n file at config/locales/en.yml # with t

我是Rails的新手,试图为我的应用程序创建一个联系人表单,但如果不关联模型,我无法在Emailer类中捕获来自联系人表单(如姓名和消息)的参数。有什么建议吗?下面是类和控制器的列表。 我的Emailer类是:

class Contact < ActionMailer::Base
default from: "from@example.com"

# Subject can be set in your I18n file at config/locales/en.yml
# with the following lookup:
#   en.contact.send_email.subject
def send_email(contact)
@greeting = "Hi"

mail to: "ostadfree@gmail.com"
end
end
Contact.html.erb包含一个表单和末尾的两个按钮:

 <%= submit_tag "Submit", class: "btn btn-large btn-primary" %>
 <%= link_to 'Send Email', email_contact_path %>

和send_email.text.erb是:

Contact#send_email

<%= @greeting %>, find me in app/views/app/views/contact/send_email.text.erb
<%#= "Name :" + @name.to_s %>
联系#发送#电子邮件
,在app/views/app/views/contact/send_email.text.erb中查找我

谢谢。

根据您的代码,您确实不了解rails的工作原理。比起在这里得到这样一个问题的答案,你可能更喜欢跟随一个教程

试试这个:

在mailer中:

def send_email(name,message)
  @greeting = "Hi"
  @name = name
  @message = message
  mail to: "ostadfree@gmail.com"
end
在控制器中:

def email_contact()
  Contact.send_email(params[:name],params[:message]).deliver
  redirect_to contact_url
end
其中
名称
消息
-表单字段的名称。如果它以前发送过邮件,那么代码应该可以工作


无论如何,检查它,真的:

非常感谢,虽然它仍然发送邮件,但没有名字和消息。无论如何,谢谢,所以您应该检查控制器中的
Params
hash包含什么。
def email_contact()
  Contact.send_email(params[:name],params[:message]).deliver
  redirect_to contact_url
end