@mime_partial来自哪里?

时间:2011-08-30 13:28:11

标签: ruby-on-rails

我有一个.rhtml文件,有很多这样的条件检查<% if @mime_partial %>在使用html标签之前使用这个条件。

我正在制作动作邮件。我正在重新设计视图,代码是由我的朋友写的。在浏览器中,可以单击按钮以“发送电子邮件”。

变量@mime_partial没有在哪里定义。我认为这是Rails的内部事情。

这个mime_partial有什么意义?

提前致谢。

修改

我用grep并得到了这个:

xyz.merge!(:mime_partial => true, .... )

它从未被设置为假,那么为什么他们使用if条件呢?

答案:

我找到了答案。

@mime_partial对应mailer。当我在浏览器中呈现视图时,它将由控制器而非邮件程序控制,因此@mime_partial将为false

当我通过发送电子邮件呈现内容时,然后在电子邮件中@mime_partial将设置为true,因为它由邮件程序而不是控制器控制。然后它将呈现一些if条件内的新内容。

感谢您的支持。

2 个答案:

答案 0 :(得分:0)

很可能你的控制器正在创建这个实例变量。您可以查看源代码并查看此变量的使用位置。

我在Rails 1.x源代码中没有看到这个变量,所以我认为它是特定于你的应用程序的东西。但可能是,这个变量是由一些gem或插件创建的。

cd your/rails_app && grep -r 'mime_partial' .

答案 1 :(得分:0)

如果没有关于你究竟在做什么的更多信息,就无法猜出这意味着什么。

然而,一般情况是你有这样的事情:

<% if @mime_partial %>
    some stuff here that only gets rendered if @mime_partial is true
<% end %>

简而言之,如果@mime_partial未设置为true,那么if中的内容将不会包含在输出(页面)中。