0

コントローラには、search、show_dbの2つのアクションがあります。

たとえば、次のようになります。

def search
   @uploads=current_user.uploads    
end

def show_db
end

search-actionから-actionに引数(@uploads)を渡す必要がありますshow_db。(私は書くことができることを知っています@uploads=current_user.uploadsshow_db、私はできません、それははるかに複雑です。)次のようなsmt:

def search
       @uploads=current_user.uploads
       show_db(@uploads)    
end

def show_db(list)
   blablabla
end

できますか?=)

よろしくお願いします。

4

3 に答える 3

0

@uploadsを作成する方法を知っている3番目のメソッドを作成し、両方のアクションから使用します。

また、インデックスアクションで、@ uploads変数を使用してshow_dbをレンダリングする場合は、次のように実行できます。

def search
  @uploads=current_user.uploads
  if something
    return show_db(@uploads)
  end
end

def show_db(list)
  blah
  render 'show_db'
end

ただし、この場合、show_dbは単なるメソッドであり、コントローラーアクションではありません。

于 2013-03-24T03:31:31.467 に答える
0

あるメソッドの結果を別のメソッドに渡したい場合、Ruby では非常に簡単です。2 番目のコード ブロックが機能するはずです。メソッドのパラメーターからリスト変数を使用するだけです。

def show_db(list)
  x = list
  list.do_somethings
  etc
end
于 2013-03-24T00:12:50.100 に答える
0

おそらく、アクション全体で変数を使用したいと思うでしょう。ブラウザーからリクエストを行うたびに、コントローラーの新しいインスタンスを作成していることを知っておく必要があります。したがって、実際にはインスタンス間でインスタンス変数にアクセスしようとするため、変数は正常に機能しません。不可能な仕事。セッションを使用して、複数のリクエストにまたがって情報を保存することをお勧めします。セッションの使い方をググってください。

于 2013-03-24T15:54:12.360 に答える