ruby-on-rails – Rails 3使用自定义模板响应

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 3使用自定义模板响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的控制器中有最新动作.此操作只是抓取最后一条记录并呈现显示模板.
class PicturesController < ApplicationController
  respond_to :html,:json,:xml

  def latest
    @picture = Picture.last

    respond_with @picture,template: 'pictures/show'
  end
end

是否有更清洁的方式来提供模板?似乎冗余必须提供HTML格式的图片/部分,因为这是Sites控制器.

解决方法

如果要渲染的模板属于同一个控制器,则可以像这样编写:
class PicturesController < ApplicationController
  def latest
    @picture = Picture.last

    render :show
  end
end

图片/路径没有必要.你可以在这里深入探讨:Layouts and Rendering in Rails

如果需要保留xml和json格式,可以执行以下操作:

class PicturesController < ApplicationController
  def latest
    @picture = Picture.last

    respond_to do |format|
      format.html {render :show}
      format.json {render json: @picture}
      format.xml {render xml: @picture}
    end

  end
end
原文链接:https://www.f2er.com/ruby/267784.html

猜你在找的Ruby相关文章