2

我正在使用 Rails 3,并且我正在使用它可以与 respond_to 和 respond_with 一起做的这个新的 Rails 3 东西,所以它是我的控制器,我有这样的东西:

http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/

respont_to :json

def show

    @organization = Organization.includes([:tableNamesBlah]).find(params[:id])

    respond_with(@organization)

  end

我将它传递给 JBUILDER 的视图,....

所以在 URL 如果我去

http://localhost:3000/manager/1.json

它工作正常并以 JSON 格式返回数据,但如果我转到相同的 URI 而不指定 .json 作为它的结尾,那么它将不会返回任何内容。

如何以可以看到数据但不需要在 URL 末尾键入 .json 的方式修改我的代码?

这是我应该在控制器中做的事情吗?或者我应该改变 JBUILDER 处理数据的方式还是与路由有关?如果您需要查看代码的其他部分,请告诉我

4

1 回答 1

3

如果您希望设置默认格式,可以在您的 routes.rb 文件中进行设置:

resources :things, defaults: { format: :json }

这应该给你你想要的行为(如果我正确理解你的问题):

/things/1       # returns json
/things/1.json  # returns json
/things/1.html  # returns html
于 2013-02-14T23:57:13.250 回答