Ruby on Rails-部分ビューを持つインスタンス変数の範囲
-
03-07-2019 - |
質問
パーシャルでインスタンス変数を適切に使用する方法がわかりません ビュー、私はここの誰かが私を啓発することを望んでいます。例:
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
は部分ビューでは使用できません
インデックスのリダイレクト時に呼び出されます。どうすれば修正できますか?
ありがとう
解決
リダイレクトを行うと、ブラウザはまったく新しいリクエストを送信するため、前のリクエストのすべてのデータにアクセスできなくなります。おそらくここでリダイレクトを行いたくないでしょう。コントローラーを介して別々の実行を検討しているとき、スコープの量は役に立ちません。
デザインについて少し考えてみてください-何をしようとしているのですか?選択がスティッキーなものである場合は、おそらくセッションに進む必要があります。変更が部分的なもののみである場合は、Ajax呼び出しを使用する必要があります。たぶん、ソリューションは index
アクションにリダイレクトするのではなく、 index
テンプレートをレンダリングするのと同じくらい簡単です。
所属していません StackOverflow