ruby-on-rails – Rails部分与单表继承

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails部分与单表继承前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在rails中使用partials以及单表继承.我目前有这个工作:
  1. render partial: @vehicle
  2.  
  3. # which renders the relevant view,depending on object type,eg:
  4. # views/trucks/_truck.haml
  5. # views/car/_car.haml

我想保留这些默认视图,并为每个对象创建一个附加的紧凑视图,也许就像这样

  1. # example code only,I want to write something like:
  2. render partial: 'compact',locals: {vehicle: @vehicle}
  3.  
  4. # and then have this render (for example) with
  5. # views/trucks/_compact.haml
  6. # views/car/_compact.haml

我可以愉快地重命名事物或更改文件名或位置,但最简单的方法支持两种视图(简洁和默认)?

稍后会有更多的课程,所以寻找非常干净,优雅的代码.

(rails 3.0.5 on ruby​​ 1.9.2)

解决方法

要得到你所要求的,你应该这样做:
  1. render partial: "#{@vehicle.type.tableize}/#{@vehicle.type.underscore}",object: @vehicle

你会得到渲染:

  1. views/trucks/_truck.html.haml

并且对象将被访问为:

  1. @truck

猜你在找的Ruby相关文章