2016-08-16 7 views
1

私は、同じコントローラから2つの異なるインデックスビューを設定したいという状況があります。同じコントローラに2つの異なるインデックスビューを持つ方法はありますか?

デフォルトビューには、入庫に関連する列のある表があり、2番目の列には、入庫注文に関する請求書に関連する列のある表があります。

この分割は、私が今ある1つのビューを整理して、1ページのすべての情報を表示することです。

私は、それぞれのビューのボタンをもう一方のボタンにつなぎながら、それらのボタンを切り替える予定です。

私はこれがおそらくRails Wayではないことを認識しています。これにアプローチする方法があれば、私はすべて耳にします。

私はVariantsを使ってこれを行うことができると思っていましたが、私は他のデバイスタイプにコンテンツを表示するためにしか使えないようです。

答えて

2

達成したいことを理解できません。 あなたが本当に2つのインデックスビューを設定する場合は、行うことができます:

def index 
    if params[:view] 
    render 'one_page' 
    else 
    render 'another_page' 
    end 
end 

あなたは何をしたいとのparamの名前を置き換えることができます。 そして、あなたはページを変更するには、ボタンをクリックしたとき、あなたはオプションです

のconfig/routes.rbを

resources :products 

index.html.erb

<%= link_to 'Next', products_path(view: true) %> 

を行うことができますが、私はしてもよいですもし私がよく理解すれば、あなたにはより良い答えを与えてください。

+0

あなたは私が何をしようとしているかについて正しいアイデアを持っています。実際、これは私のコントローラの現時点での正確なコードです。私が抱えている問題は、2番目のビューが読み込まれず、メインビューがレンダリングされるため、ビューリンクからコントローラアクションにパラメータを渡している間に何か間違っているはずです。待って、私の最初のビューはまだ 'index.html.erb'です、多分それは問題です。名前を変更して何が起こるかを見てみましょう。 – NeyLive

+0

if文を次のように変更して修正しました: 'params [:view_name]'が '==" what_you_want "部分を削除し、ビューリンクを' <%= link_to 'Next'に変更すると、products_path(view_name:本当)%> '今それは動作します。 – NeyLive

+0

ニース!おめでとう私は答えを更新するつもり:)私の答えを受け入れることを自由に感じなさい;) –

関連する問題