2

一種のnoob-railsの質問;):

コントローラには、インデックス独自の2つのアクションがあります。インデックスでは、すべての投稿を一覧表示し、自分の投稿はログに記録されたユーザーの投稿のみを生成します。コントローラーは非常に似ていますが、ビューは同じであり、この2つのコントローラー間で共有できると思います。

自分のコントローラーに次のようなものを入れました。

respond_to do |format|
  format.html { render :action => "index" }
  format.json { render json: @ads }
end

そしてルートに追加:

match "/ads/own" => 'ads#own', :via => :get

これを行うためのより良い解決策はありますか?

4

1 に答える 1

4

あなたはこれを行うことができます:

def index
  ....
end

def own
  ....
  render :index    
end

すべて(すべての変数)は、独自のインデックスビューに直接渡されます。:jsonコンポーネントが必要な場合は、次を追加します。

class SomeController < ApplicationController
  respond_to :html, :json

そして、各アクションの最後の項目として「respond_with@posts」を配置します。

于 2012-06-29T12:19:13.270 に答える