所以我正在开发一个开源项目,由于版本不同,我不能指望有一个视图控制器。相反,这封电子邮件将通过一个版本的rake任务发送出去,而另一些版本则通过控制器完成。现在你明白我为什么要问一个不好的练习问题...
我有一个视图布局。有没有人知道在视图中指定视图布局的方法。一些伪代码:
<%= extends 'layout/test_mailer` %>
<h1> Hey there! </h1>
布局中通常会有yield
。
我希望我能够很好地解释这个问题。
答案 0 :(得分:5)
<%= render partial: "hey_page", layout: "layout/test_mailer" %>
在RailsGuides检查 3.4.3部分布局部分。
答案 1 :(得分:1)
我认为使用 yield 和 content_for 可以解决问题。 [Guides]
# my_layout.html.erb
<%= yield :mail_view %>
# my_mail_view.html.erb
<%= content_for :mail_view do %>
<!-- html -->
<% end %>
当然,如果你使用params来获得布局,这将是一个错误的答案。
然后,您还可以使用:
<%= render partial: "link_area", layout: "graybar" %>
答案 2 :(得分:0)
您可以使用
//controller action
def index
render layout: test_mailer
end
//view, index.html.erb
<h1> Hey there! </h1>
//view, layout/test_mail.html.erb
<html>....layout for you test mail
<% yield %>
</html>