在Rails中包含partials

时间:2011-10-08 12:53:04

标签: ruby-on-rails partial-views render dry partials

简单的问题,做得更好

# application.html.haml
(...)
  %body
    = render :partial => 'layouts/edit_user_sidebar' if params[:controller] in ['Users', 'some_other_controller']
    = render :partial => 'layouts/default_sidebar' unless params[:controller] == 'Home'
    - if params[:controller] == 'Home'
      #content.24-cols
        .padding
          = yield
    - else
      #content.18-cols
        .padding
          = yield

或者将渲染放在视图中。我认为它会更优雅但是我需要花很多时间来编辑它。

1 个答案:

答案 0 :(得分:1)

我认为最好将它放在应用程序页面中。

然后有一个控制访问规则的中心位置。

与脂肪模型,瘦控制器类似,我尽量保持视图最简洁。我将测试重点放在模型,属性和模型方法上。

我也怀疑你可以使用:

= render 'layouts/edit_sidebar' if (params[:controller] in ['Users', 'other_controller'])
= render 'layouts/default_sidebar' unless params[:controller] == 'Home'

有点干涩。