用户档案的联系表格
我一直在努力想办法完成这个function。
目前我有一个配置文件的用户。 还有一个通用的Contact表单模型,它是无表格的,不会向数据库保存任何内容。
我的目标是建立一个通用联系表单,我可以在其中链接单个用户配置文件上的联系人按钮。 提交时的联系表单将发送到配置文件属性中指定的用户电子邮件。 例如,配置文件有一个字段t.string contact_email。
目前我已经设置了联系人模型,可以将其发送到一个单独的电子邮件。 主要是应用程序所有者。
class ContactMailer "stephen@example.com" def contact_me(msg) @msg = msg mail from: @msg.email, subject: @msg.subject, body: @msg.content end end
我的目标是简单地链接
default :to => "stephen@example.com"
喜欢的东西
default :to => "@profile.contact_email"
我不知道如何为表单指定用户或者是否可能。 该过程必须包括一旦访问者点击联系我们,表单将获取个人资料电子邮件并将其用作收件人。
对不起,如果这看起来像我没有任何表格来回答我只是在寻找可能从哪里开始或如何完成的提示。
注意:不要进入默认情况下必须指定的东西。 您可以简单地发送mail
方式,如您发送, subject
和其他变量。
有几种方法可以做到:
1)您可以使用hidden_field_tag
传递该用户的电子邮件,如下所示
<%= hidden_field_tag :contact_email, @user.contact_email %>
然后在服务器端,您可以通过parmas[:contact_email]
获得其值。
2)您可以在致电contact_me
时发送用户的电子邮件。 现在,您只发送一个参数msg
。 所以,
def contact_me(msg, to) @msg = msg mail to: to, from: @msg.email, subject: @msg.subject, body: @msg.content end
当你调用contact_me
,你可以这样做: ContactMailer.contact_me(msg, @user.contact_email)
虽然它可能会有所不同,具体取决于代码中的实际实现,但概念总是相同的。