使用自定义对象名称渲染异构集合
在我的 Rails 应用程序中,我有一个从 Event::Base < 继承的对象的
模型。@events
集合。 AR::Base
如果像 render :partial => 那样渲染它'事件', :collection => @events
可以给出一个选项 :as =>; :event
更改与部分内部对象相对应的局部变量的名称。但是当部分的名称不是常量时该怎么办呢?上述方式(render @events, :as => :event
)不起作用。
附言。 博客中有一个解决方案.obiefernandez.com 但它使用部分名称的最后一部分,这不适合我。
In my Rails app I have an @events
collection of objects inherited from Event::Base < AR::Base
model.
If rendering it like render :partial => 'event', :collection => @events
it's possible to give an option :as => :event
to change the name of a local variable corresponding to the object inside of the partial. But what to do when the name of the partial is not constant? The aforementioned way (render @events, :as => :event
) doesn't work.
PS. There's a solution at blog.obiefernandez.com but it uses the last part of the partial name and this just doesn't fit for me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我自己没有尝试验证,但这可能有效:
您可能还需要使用 :partial 键,例如:
render :partial =>; @events,:as => :event
而不是render @events,:as => :event
编辑:这仅适用于 Rails 3.2+ ...请参阅 Obie 关于该主题的文章。
I haven't tried this myself to verify, but this might work:
You may also need to use the :partial key, eg:
render :partial => @events, :as => :event
instead ofrender @events, :as => :event
EDIT: This only works in Rails 3.2+ ... see Obie's writeup on the topic.