【问题标题】:Slim Partial with Yield苗条的局部与产量
【发布时间】:2016-12-20 18:48:50
【问题描述】:

我有一个小部件的 Slim 部分。该小部件具有公共元素,然后是一些我想要屈服的自定义内容。正确的语法是什么?这是我认为可行的方法,但没有。

小部件部分

.container
  .title= title
  .content
    == yield

页面

.page
  = render partial: "widget_partial", locals: { title: "Content 1" } do
    div Some really awesome content.

  = render partial: "widget_partial", locals: { title: "Content 2" } do
    span Different but also awesome content.

【问题讨论】:

    标签: ruby-on-rails slim-lang


    【解决方案1】:

    根据partials 上的Action View Overview(第3.2.3 节),当您只使用部分模板和局部变量时,您可以采用这样的最小方法:

    (小部件部分)

    .container
      .title
        p #{title}
      = yield
    

    (页面)

      = render "widget_partial", title: "content 1" do
        .div
          p Some really awesome content.
    
      = render "widget_partial", title: "content 2" do
        .div
          p Different but also awesome content.
    

    请注意,在部分本身中,您不能将文本直接放入 div,所以我添加了一个<p> 元素。

    【讨论】:

      【解决方案2】:

      您应该在render 中添加layout 参数。像这样的:

      (小部件部分)

      .container
        .title = title
        .content
          = yield
      

      (页面)

      .page
        = render layout: 'widget_partial', locals: { title: 'Content 1' } do
          div Some really awesome content.
      
        = render layout: 'widget_partial', locals: { title: 'Content 2' } do
          span Different but also awesome content.
      

      文档:http://edgeguides.rubyonrails.org/action_view_overview.html#partial-layouts

      【讨论】:

        猜你喜欢
        • 2020-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        相关资源
        最近更新 更多