我在我的控制器中有一个latest
操作。此操作只抓取最后一条记录并呈现show
模板。Rails 3 respond_with自定义模板
class PicturesController < ApplicationController
respond_to :html, :json, :xml
def latest
@picture = Picture.last
respond_with @picture, template: 'pictures/show'
end
end
是否有更简洁的方式提供模板?由于这是网站控制器,似乎冗余必须为HTML格式提供pictures/
部分。
**这是正确的答案**值得注意的一个问题:调用'render'show'' *只渲染显示模板*,它不会调用显示操作。因此,如果show show模板需要'show'动作中有实例变量,那么您必须在''latest'动作中设置这些变量,或者设置其他渲染'show'模板的动作。 – Andrew
查看我的更新。我需要为此操作保留“API导航”(JSON和XML格式)。我知道我可以给'respond_with'块,并执行'format.html {render:show}'。这也看起来不像应该那样干净。 – mikeycgto
您如何为自定义模板执行操作,而不是已经是其他操作的一部分的模板?如何在共享文件夹中定制模板? – ahnbizcad