rails渲染页面为json

时间:2014-11-17 13:44:10

标签: ruby-on-rails ruby json

如何正确地将页面呈现为json

我的代码块

respond_to :html, :xml, :json


  def getOffersByURL
   @my_model= Mymodel.where(attr1: params[:url], :validFrom => {:$lte => Time.now}).all
   respond_with @my_model
  end

当试图这样做时没有任何事情发生

http://0.0.0.0:3000/getOffersByURL?url=some_data.xml 

http://0.0.0.0:3000/getOffersByURL?url=some_data.json

具体来说就像这样

Processing by MyController#getOffersByURL as HTML
  Parameters: {"url"=>"some_data.xml"}

1 个答案:

答案 0 :(得分:-1)

尝试更改您的功能:

def getOffersByURL
  @my_model= Mymodel.where(attr1: params[:url], :validFrom => {:$lte => Time.now}).all
  respond_to do |format|
    format.json {
        render json: @my_model
    }
    format.html {
        @my_model
    }
    end
end

如果您尝试在视图中显示这样的json,会发生什么:

<%= @my_model.to_json %>

您是否有任何数据在浏览器中检查页面?打开开发人员工具,尝试查找对象是否带来任何数据......