【问题标题】:Associations in ActionMailer TemplateActionMailer 模板中的关联
【发布时间】:2010-07-15 08:52:11
【问题描述】:

我有一个 ActionMailer 模型(通知程序)和一个邮件视图。在我的控制器中,我构建了一个如下所示的数组(access_data):

access_data = []
users.each do |user|
  access_data << {'subscriptions' => user.subscriptions, 'login' => user.login}
end

当我创建一个“正常”视图时,我可以这样做:

<% access_data['subscriptions'].each do |subscription| %>
  <%= subscription.service.name %>
<% end %>

但是当我在通知器视图中执行相同操作时,我收到此错误:

undefined method `service' for #<YAML::Object:0x1032bf3f0>

这是因为 Notifier 模型扩展了 ActionMailer::Base 而不是 ActiveRecord::Base?

【问题讨论】:

    标签: ruby-on-rails ruby actionmailer


    【解决方案1】:

    ActionMailer::Base 与 ActiveRecord::Base 不同。每个 ActionMailer 方法代表一个可以发送的不同邮件,它与数据库无关。

    【讨论】:

    • 但在视图中我应该能够获得模型关联,或者不是? “正常”视图和邮件视图之间的区别在哪里?
    • 邮件视图是关于电子邮件的正文,而不是您在网络浏览器中看到的。至少,您可以从控制器发送电子邮件,然后重定向一些 .
    猜你喜欢
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 2012-01-03
    • 2011-11-27
    • 2012-08-16
    • 1970-01-01
    相关资源
    最近更新 更多