Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在“中获取电子邮件地址”;至;ActionMailer视图中的字段?_Ruby On Rails_Ruby On Rails 3_Views_Actionmailer_Helper - Fatal编程技术网

Ruby on rails 如何在“中获取电子邮件地址”;至;ActionMailer视图中的字段?

Ruby on rails 如何在“中获取电子邮件地址”;至;ActionMailer视图中的字段?,ruby-on-rails,ruby-on-rails-3,views,actionmailer,helper,Ruby On Rails,Ruby On Rails 3,Views,Actionmailer,Helper,我想让一个方法可以从mailer视图访问,该视图返回一个布尔值,具体取决于电子邮件发送到的用户 例如,假设用户有一个属性is\u subscriber,该属性可以是true或false。 该方法将包含如下内容: def show_banner? FeatureManager.is_feature_available?(:subscription_banners) && !user.is_subscriber end 我想从mailer视图中访问此方法 问题是,我的应用程序中

我想让一个方法可以从mailer视图访问,该视图返回一个布尔值,具体取决于电子邮件发送到的用户

例如,假设用户有一个属性
is\u subscriber
,该属性可以是true或false。 该方法将包含如下内容:

def show_banner?
  FeatureManager.is_feature_available?(:subscription_banners) && !user.is_subscriber
end
我想从mailer视图中访问此方法

问题是,我的应用程序中有很多邮件程序(UserMailer、SubscriptionMailer、FollowUpMailer),每个邮件程序依赖实例变量@user似乎有点危险

是否有任何方法可以像本例中那样从“收件人”字段访问电子邮件地址,以便通过其电子邮件地址找到用户:

mail :to => @user.email, :subject => I18n.t('welcome_mail.subject')
这样做是一个好主意还是有一种更通用的方法来创建这样的帮助器方法?

您可以在actionview中使用@\u消息,它允许您访问消息对象,您可以从中访问“to”、“from”等字段

我有一个例子,我需要一个取消订阅按钮对所有邮件,所以把它放在我的布局,这是跨邮件使用。我使用上面的解决方案来查找邮件接收者,并实现对相应邮件的取消订阅