ruby-on-rails – 如何在一个块中产生多个部分?
发布时间:2020-12-17 02:25:20 所属栏目:百科 来源:网络整理
导读:我最近问了一个类似的问题,尽管那是为了让多个块作为参数.这个问题更加直接. 我遇到的问题是,我有一个帮助方法,我希望能够将内容作为一个块传递给渲染.但是,如果我添加多个部分,则仅渲染块中的??最后一个.方法如下. def bootrap_panel(title,klass = 'primar
我最近问了一个类似的问题,尽管那是为了让多个块作为参数.这个问题更加直接.
我遇到的问题是,我有一个帮助方法,我希望能够将内容作为一个块传递给渲染.但是,如果我添加多个部分,则仅渲染块中的??最后一个.方法如下. def bootrap_panel(title,klass = 'primary',&block) content_tag(:div,panel_heading(title) + panel_body(&block),class: 'panel panel-' + klass) end def panel_body(&block) content_tag(:div,yield,class: 'panel-body') if block_given? end 我遇到的一个问题就是这里,只有最后一个部分显示在页面上. =bootrap_panel 'Panels','primary' do - render "dynamic_panels/partials/new" - render "dynamic_panels/partials/dynamic_panels",dynamic_panels: dynamic_page.dynamic_panels 我的第一个想法是,我应该首先让部分数组或类似的东西,然后显示(我不确定我能够做到这一点).其次,我使用’ – ‘运算符而不是’=’运算符来显示haml中的ruby内容.为什么? 解决方法
将块itsef而不是其返回值传递给content_tag:
content_tag(:div,class: 'panel-body',&block) 其他方法: content_tag(:div,capture(&block),class: 'panel-body') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |