0

レールで次のルーティングを実現する方法:

  • リクエストが必要な場合はhtml、特定のアクションにルーティングするよりも、application#index としましょう

  • jsonフォーマット要求の場合は、要求されたものを生成するアクションに通常どおりにリソースにルーティングしますjson

明らかに、これは単一ページ アプリケーションの使用例であり、レールは主にjsons の提供のみに使用されます。ほとんどのページは、いくつかの値がブートストラップされた非常に単純なレイアウトです。

ヒントをありがとう。

4

1 に答える 1

1

Railsでこの問題を解決する方法は、コントローラーで1回のアクションで処理できます。ルートファイルでは、リソースを宣言するだけです。

resources :posts

そして、コントローラーは次のようになります。

def index
  @posts = Post.all

  respond_to do |format|
    format.html  # index.html.erb
    format.json  { render :json => @posts }
  end
end

ご覧のとおり、応答のタイプは要求されたタイプによって異なります。

ただし、本当にタイプに従ってルーティングしたい場合は、次のようなものを試すことができると思います。

match 'posts/:id.:format' => 'posts#html_respond', :constraints => {:format => "html"}
match 'posts/:id.:format' => 'posts#json_respond', :constraints => {:format => "json"}
于 2013-03-16T16:46:23.473 に答える