任何关于接触形式导轨的建议4

时间:2013-10-17 19:35:31

标签: 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 the following lookup:
#   en.contact.send_email.subject
def send_email(contact)
@greeting = "Hi"

mail to: "ostadfree@gmail.com"
end
end

Staticpages控制器是:

def email_contact()
  Contact.send_email().deliver
  redirect_to contact_url
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 %>

感谢。

2 个答案:

答案 0 :(得分:4)

根据您的代码,您实际上无法掌握rails的工作原理。你可能最好关注一个教程,而不是在这里得到这样的问题。

http://seanrucker.com/simple-ruby-on-rails-contact-form-using-activemodel-and-pony/

答案 1 :(得分:1)

试试这个:

邮件中的

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

其中namemessage - 表单字段的名称。如果以前发过邮件,该代码应该有效。

无论如何,检查一下,真的:http://guides.rubyonrails.org/action_controller_overview.html#parameters