0

私は HTML ページを持っています。そのページには、ユーザーが選択できるオプションがいくつかあります。これは、コンテンツの表示方法に影響します。

これらのオプションは、コントローラーでインスタンス変数を使用して保存します。例えば ​​:

class ShopController < ApplicationController

def index
   @option1 = option1 # instance variable option1, contains some information on the form
end

end

このページには、ユーザー入力情報用のフォームがあります。ユーザーが送信ボタンを押すと、ShopControlerそれらの情報が処理されます。しかしその時、@option1変数をチェックすると-> NIL。これは の別のインスタンスであることを意味しますShopController

ユーザーがサミットフォームを持っているにもかかわらず、情報を保存でき、再利用できるという問題の解決策を教えてください。

ありがとう :)

4

2 に答える 2

2

セッション変数に保存することを考えましたか?

session[:option1] = option1

それが終わったら、

session.delete(:option1)

これにより、複数のリクエストで使用できるようになります。

于 2013-05-01T17:56:55.440 に答える
0

通常、ユーザーがフォームを送信すると、作成または更新アクションにルーティングされます。特に index アクションにルーティングしない限り、フォームが送信されているアクションで @option1 を設定していない可能性が最も高いです。

すべてのアクションで設定していることがわかった場合は、 before_filter を使用して設定することを検討してください。

于 2013-05-01T18:31:07.333 に答える