ruby-on-rails – 为多态资源组织部分

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为多态资源组织部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找其他人通常如何组织他们的部分多态资源.

例:@H_403_3@

我有多态的Image,根据什么是可成像的,我想显示略有不同的东西.@H_403_3@

我有一个部分images / _image,可以调用render imageable.images.我目前的心态是让我的图像部分检查可成像的类型,然后有另一部分,特定于该情况.我的组织将是这样的:@H_403_3@

images/
  _image.html.haml
  _product.html.haml
  _post.html.haml
  _user.html.haml

我的_image部分看起来像:@H_403_3@

%div
  = render :partial => "images/#{imageable.type}"

这看起来像是一种糟糕的方法,还是采取了错误的做法?我认为从任何地方调用render imageable.images比调用render更好:partial => … 到处都是.@H_403_3@

任何想法将不胜感激.你是怎么做到的?@H_403_3@

编辑:很长一段时间过去了,我仍然想知道是否有人对此有任何意见.抛出赏金,看看是否吸引了一些注意力.@H_403_3@

解决方法

在你的代码中现在还不清楚_product实际上是_image.

我认为Rails的意图是这样做:@H_403_3@

shared/
    _image.html.haml
    imageable/
      _product.html.haml
      _post.html.haml
      _user.html.haml

然后在_image部分你打电话:@H_403_3@

渲染:部分=> imageable /#{image.type}“,:image => image@H_403_3@

现在从您的目录结构中可以清楚地看到您的多态性是什么.@H_403_3@

(注意:我使用了共享目录,但是当你的图像部分实际上没有在视图之间共享时,它应该在某个视图目录中,就像你实际上有一个images_controller一样,目录应该被称为图像)@H_403_3@

猜你在找的Ruby相关文章