2017-09-22 4 views
0

rental_application_personal_detailsを追加してテーブルからfirst_nameにアクセスしようとしたところ、問題が始まりました。Rails Mailerのデータへのアクセスに関する問題

コントローラー:

def create 
    unless @rental_application.submittable? 
    redirect_to @rental_application, notice: "You can't submit the rental application unless you complete it!" 
    return 
    end 

    if @rental_application.submitted! 
    RentalApplicationMailer.sales_agent_message(@rental_application, @rental_application_personal_details, @agent).deliver_now 
    if @rental_application.payment_request.authorized 
    CapturePaymentJob.perform_later(@rental_application.payment_request) 
    else 
     @rental_application.payment_request.void! 
    end 

    redirect_to @rental_application, notice: 'Your application was submitted! :)' 
    else 
    redirect_to @rental_application, notice: 'We were unable to submit your application.' 
    end 
end 

賃貸契約申込書メーラー:

def sales_agent_message(rental_application, rental_application_personal_details, agent) 
    @rental_application = rental_application 
    @rental_application_personal_details = rental_application_personal_details 
    @agent = agent 
    @sales_agent = @rental_application.sales_agent.email 
    mail(:to => @sales_agent, :subject => "New Rental Application Recieved!") 
end 

セールスエージェントメッセージ:

Hiya!

<%= @ rental_application_personal_details.first_name%>からレンタルアプリケーションが送信されました。 %>

見ること<% = LINK_TO、matrix_rental_applications_url%>

エラー 'HERE!':

enter image description here

+0

@rental_application_personal_detailsとしてそれを書くことができますがnilの..ですそこに来ているかどうか確認します。 – krishnar

答えて

1

@rental_application_personal_detailsいずれかの場所に設定されることはありませんように思われます。 createメソッドでは、そのメソッドを使用していますが、最初に値を与えたことはありません。したがって、それはゼロです。 nil.first_nameはあなたが現在持っているエラーです。

0

あなたは

if @rental_application.submitted! && @rental_application_personal_details.present? 

//code to send the mail 

end 
関連する問題