2014-04-02 167 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

相關問題