Rails 5:将部分渲染到应用程序布局

时间:2017-06-15 17:34:12

标签: ruby-on-rails

SELECT `categories`.`id`, `categories`.`name` FROM `categories` LEFT JOIN `product_to_category` ON `categories`.`id` = `product_to_category`.`category_id` WHERE `product_to_category`.`product_id` = 5 内我有views/layouts/application.html行。该行最终将被直接对应于控制器操作的视图替换而没有任何问题。

在我的一个控制器中,我试图渲染部分而不是默认行为:

<%= yield %>

我以这种方式使用部分,以便我可以为各种不同的数据库表(跨不同的控制器)使用相同的基本表结构。

def show @service_groups = ServiceGroup.where(deleted_at: nil) render partial: 'table', locals: {rows: @service_groups, headers: service_group_headers} end 代码似乎不适用于应用程序布局中的render partial行。部分代码只是在没有周围布局的情况下自行渲染。

  1. 这是为什么?
  2. 如何解决问题?
  3. 如果我以不同的方式处理这件事,请告诉我。

    感谢。

1 个答案:

答案 0 :(得分:0)

从评论中迁移

如果您为该控制器创建show.html.erb并将render :partial放在那里,该怎么办?它应该工作。

说明:部分将从“大”视图中使用。所以,它们并没有故意包含在布局中!