如何在渲染xml时排除has_many关联的字段
第 1 部分。
我有一个 Series
,其中 has_many :articles
。在我的 show
操作中,如果请求 xml
,我想包含所有关联的 :articles
,但我实际上只想要其中的三个字段::title
、:date
和 :id
我该如何执行此操作?
第 2 部分。
我想知道在我的模型中重写 to_xml
是否会更好,而不是从控制器执行此操作。这是好的做法吗?我该怎么做?
非常感谢!
编辑
扇区几乎是正确的,但它需要是一个散列:
render :xml => @series.to_xml(:include => { :articles => { :only => [:title, :date, :id] } })
Part 1.
I have a Series
which has_many :articles
. In my show
action, if xml
is requested, I'd like to include all the associated :articles
, but I really only want three of the fields: :title
, :date
, and :id
How can I do this?
Part 2.
Instead of doing this from the controller, I wonder if it would be better just to override to_xml
in my model. Is this good practice? How would I do this?
Thanks so much!
Edit
Sector was almost right, but it needs to be a hash:
render :xml => @series.to_xml(:include => { :articles => { :only => [:title, :date, :id] } })
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
第 1 部分
第 2 部分
控制器是实现此目的的好地方
Part 1
Part 2
Controller is good place for this