2014-04-02 108 views
0

我想在我的应用程序中有一个表单,登录的用户可以输入他们的朋友的电子邮件地址,单击发送,然后它会发送一封自动电子邮件到他们输入表单的电子邮件地址。这是我到目前为止。当我单击按钮将您带到窗体时,我会得到单元化的常量,所以我不知道还有哪些功能无法工作。如何以电子邮件的方式向电子邮件联系人发送电子邮件?

invitations_controller.rb

class InvitationsController < ApplicationController 
def new 
    @invitation = Invitation.new 
end 

def create 
    @invitation = Invitation.new(params[:invitation]) 
    @invitation.invited_by = current_user.invitation_token # set the sender to the current user 
    if @invitation.save 
     Mailer.invitation(@invitation, new_user_path(:invite_token => @invitation.invited_by)).deliver #send the invite data to our mailer to deliver the email 
    else 
     flash.now[:notice] = "Something went wrong" 
     redirect_to root_url 
    end 
    end 
    end 

mailer.rb

class Mailer < ActionMailer::Base 
default from: "[email protected]" 

def invitation(invitation, signup_url) 
    subject 'Invitation' 
    recipients @recipient_email 
    from  '[email protected]' 
    body  :invitation => invitation, :signup_url => signup_url 
    invitation.update_attribute(:sent_at, Time.now) 
end 
end 

invitation.html.erb

Mailer#invitation 
You are invited to join our beta! 

<%= signup_url(@invitation.invited_by) %> 

new.html.erb(邀请形式)

<%= simple_form_for @invitation, :url => new_invitation_path do |f| %> 
    <%= f.hidden_field :invitation_token, :value => @invitation.invited_by %> 
    <%= f.label :email %> 
    <%= f.email_field :email %> 
    <%= f.submit 'Send' %> 
    <% end %> 

我甚至无法访问邀请表单,因为我得到了未初始化的常量错误。所以我知道它超出了这个范围。请帮助

+0

哪个常数未初始化? – Mischa

+0

未初始化的常量InvitationsController :: Invitation – user3443619

+0

你有'Invitation'模型吗? – ouranos

回答

0

您需要一个Invitation模型。

rails generate model Invitation invited_by:string sent_at:timestamp 

See the getting started guide

+0

这是否。现在,我在new.html.erb中获得了未定义的方法'email' – user3443619

+0

您需要在'Invitation'模型中添加一个'email'字段 – ouranos

+0

好的,我可以转到/ invitations/new page ,输入一个电子邮件并点击提交。在控制台中,我得到'未经允许的参数:utf8,authenticity_token,邀请,提交'。这是我目前的代码https://gist.github.com/th3cuda/274f31bccf8df00593eb – user3443619

相关问题