3

部分ビューでインスタンス変数を適切に使用する方法がわかりません。ここの誰かが私を啓発してくれることを願っています。例えば:

class MainController < ApplicationController

  def index
    @item_list = Item.find_all_item
  end

  def detail_display
    @current_selected = @item= Item.find(params[:id])
      redirect_to :action => :index
  end
end

detail_displayユーザーがリスト内の項目をクリックすると呼び出されます。変数@current_selectedは、インデックスがリダイレクトされたときに呼び出された部分ビューでは使用できません。どうすればこれを修正できますか?

ありがとうございました

4

1 に答える 1

8

リダイレクトを行うと、ブラウザはまったく新しいリクエストを送信するため、以前のリクエストのすべてのデータにアクセスできなくなります。おそらく、ここでリダイレクトを行いたくないでしょう。コントローラーを介して個別の実行を見ている場合、スコープの量は役に立ちません。

デザインについて少し考えてみてください。何をしようとしているのでしょうか。選択が粘着性のあるものである場合は、おそらくセッションに入れる必要があります。部分的な変更のみの場合は、Ajax 呼び出しを使用する必要があります。indexアクションにリダイレクトするのではなく、テンプレートをレンダリングするだけで解決できるかもしれませんindex

于 2009-03-01T21:13:47.657 に答える