ruby 使用来自另一个分部的特定变体渲染分部

7d7tgy0s  于 2023-05-17  发布在  Ruby
关注(0)|答案(2)|浏览(121)

鉴于以下观点:

views/users/show.html.erb
views/users/show.html+v2.erb

如果控制器上的变量设置为v2,我如何从show.html+v2.erb渲染show.html.erb
我会期待类似的东西formats选项可用,但找不到它是什么。我最好的猜测是

  • 这里堆栈溢出(它试图呈现自己):*
<%= render template: 'users/show', variant: :default %>
<h1> Additional stuff</h1>
  • 注意:* 这是一个非常简单的例子,所以不建议提取模板。我的答案后的问题-如何呈现一个模板(S)在不同的变种。
vd8tlhqk

vd8tlhqk1#

这可以通过以下两种方式实现
在视图的渲染模板定义中显式命名变体扩展名:

<%= render template: 'users/show.html+v2.erb', variant: :default %>


在控制器中设置请求变量:

request.variant = :v2
kmpatx3s

kmpatx3s2#

这是不可能的,您应该在没有特定变体的分部代码中编写可重用代码

相关问题