从对象数组中获取控制器名称

时间:2012-01-27 23:05:06

标签: ruby-on-rails

必须有一种更聪明的方法来做我在这里做的事情。

我在轨道项目中的我的模型的展示页面。那个模型是车辆。

每辆车都有很多里程记录,所以我试图在每辆车的展示页面上显示这些记录。

我正在渲染部分'records_table'(因此我可以将其重新用于页面下方的服务记录)。问题在于,部分我使用以下代码渲染表头:

<%= render "table_headers" %>

这使得table_headers为Vehicle而不是里程记录(出于显而易见的原因)。我可以通过这样做来获取视图文件夹的名称(与里程记录关联的控制器的名称)来解决这个问题。

<%= render "#{objs.first.class.name.pluralize.underscore}/table_headers" %>

这是一种丑陋的做事方式。是否有另一种方法从对象数组中获取控制器的名称(假设它们都来自同一模型)?或者有更好的方法来指定我想要的table_headers(不仅仅是静态输入mileage_records,因为这需要适应其他类型的记录)?

1 个答案:

答案 0 :(得分:0)

如何将变量传递给partial,如下所述:

http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

在3.4.4节中?

您可以将controller.controller_name传递给_records partial,然后可以在其他位置引用哈希或查找表以确定它应显示哪些记录。