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 形式で返しますが、最後に .json を指定せずに同じ URI に移動すると、何も返されません。

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 に答える