首页 > 解决方案 > 参数未从邮件程序传递到 html.erb 文件

问题描述

我已将这个邮件服务定义如下。我在这里面临的问题是只有在费用.expense_url.present 的情况下,字段值才会出现在提醒.html.erb 文件中?这个案子是真的。fee_url是一个存储文件位置的字段。知道我哪里错了吗?

此问题仅发生在登台服务器中。即使附件不存在,本地主机也会打印电子邮件。

邮件程序.rb

require 'open-uri'
class ReminderMailer < ApplicationMailer
    default from: 'abc@yahoo.com', to: ['sid@yahoo.com']
    def reminder(expense_ids)
        @expenses = Expense.where(id: expense_ids)
        @expenses.each do |expense|            
            expense_number = expense.description.split(' ')[1] 
             if expense.expense_url.present?      
                file = open("#{expense.expense_url}").read
                attachments["Expense#{expense.issue.name}_#{expense_number}_#{expense.date.to_date}.pdf"] = file
            end
        end
        mail subject: "Reminder"
    end    
end

提醒.html.erb

<% @expenses.each do |expense|%>
    Expense No.: <%= expense.description.split(' ')[1] %>  
    <br />
    Current expense total: <%= expense.value %>   
<% end %>

标签: ruby-on-railsrubyactionmailer

解决方案


推荐阅读