繁体   English   中英

在Rails视图中重复的HTML片段

[英]HTML Snippets that repeat in the Rails views

我正在使用一个bootstrapping框架,它有以下代码片段,我经常使用它:

<div class="panel panel-default">
    <div class="panel-heading">...</div>
    <div class="panel-body">
        ...
    </div>
</div>

(该片段实际上会更大,但我想从小开始)

所以我认为我会构建一个部分并使用它,如下所示:

局部

<div class="panel panel-default">
    <div class="panel-heading"><%= title %></div>
    <div class="panel-body">
        <%= yield %>
    </div>
</div>

使用示例

<%= render partial: "panel", locals: { title: "Hello" } do %>
    Testing
<% end %>

但这显然不起作用。 我收到以下错误:

'nil'不是与ActiveModel兼容的对象。 它必须实现:to_partial_path。

我在这里做错了吗? 我是否理解错误?

为了让yield能够工作,我认为你需要使用render :layout代替/除了:partial

<%= render layout: "panel", locals: { title: "Hello" } do %>
    Testing
<% end %>

阅读PartialRenderer示例以获取更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM