Slim content_for可能的重构

时间:2013-12-17 05:15:08

标签: ruby-on-rails ruby-on-rails-4 slim-lang

我的application.html.slim中有一个标题渲染器:

title
  - if content_for?(:title)
    = yield(:title)
  - else
    | My another title

如果有一个content_for:title块,那么我会把它放在一边。换句话说,我在标题标签中渲染默认文本“我的另一个标题”。

一切都很好,但似乎上面的代码很脏。有没有办法重构它?

此致 亚历

1 个答案:

答案 0 :(得分:3)

我不确定Slim是否支持以下语法,但可能的替代方案是单行三元输出:

title = content_for?(:title) ? yield(:title) : 'My default title'