【问题标题】:Rails: Render a specific partial (other than an object's default)Rails:渲染特定的部分(对象的默认值除外)
【发布时间】:2013-05-30 15:18:11
【问题描述】:

我想用默认部分以外的东西(即app/views/child_items/_child_item.html.erb)来渲染一些子项。默认的一个是脚手架的,它不适合公众查看某些东西,但我仍然想保留它以用于后端管理。

这就是我在父项的视图中要做的,假设在app/views/child_items/_alternate_partial.html.erb 中定义了一个部分:

<%= render containing_object.child_items, :partial => 'child_items/alternate_partial' %>

但子项仍以其默认部分呈现。

【问题讨论】:

    标签: ruby-on-rails partials


    【解决方案1】:

    试试这个:

    <%= render 'child_items/alternate_partial', :collection => containing_object.child_items %>
    

    【讨论】:

    • 好的,这让我进入了部分!现在我得到了一个以前没有的 NameError - 它不知道 child_item 是什么。
    • 在部分代码中,您应该使用像您正在渲染的对象的类一样命名的变量。例如,如果您的 child_item 对象是 Post 模型的一个实例,您应该在您的 alternate_partial 中使用 post 而不是 child_item
    • 查看guides.rubyonrails.org/layouts_and_rendering.html(第 3.4.5 和 3.4.6 节)以获取有关如何在部分中使用呈现集合的更多信息。
    • 我想了解的是如何访问我们传入partial的集合中的一个项目。默认部分可以简单地转到 child_item.some_object,为什么相同的方法在这里不起作用?
    • 到目前为止没有运气,但我会作为一个单独的问题提出。至少我进入了局部。
    猜你喜欢
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    相关资源
    最近更新 更多