如何使用decent_exposure来揭露可能不存在的相关项目?

时间:2012-04-06 17:10:41

标签: ruby-on-rails

我正在使用decent_exposure gem并遇到了一个quandry。

我有一个模型Child,它是模型Parent的子模型,但并不总是在Parent的上下文中调用 - 例如show方法不会嵌套。

My Child的控制器公开:parent以及:children {parent.children},当在Parent的上下文中调用index方法时,这种方法有效,但在没有父级上下文的情况下调用子show方法时则不行。

应如何处理?

1 个答案:

答案 0 :(得分:0)

我通常会做类似的事情:

expose(:child) {params[:id] ? Child.find(params[:id]) : Child.new(params[:child]}

这适用于show,update和edit,delete,因为这需要ID(/ child / 1),但是语句的后半部分也允许你支持你的new和create。