2011-02-04 9 views
4

私が持っている(私は?!持つことができます):Ruby on Rails 3を使用してアクションに変数を渡すことはできますか?私は私のコントローラ3.</p> <p>Ruby on Railsでを使用してい

def action_name(variable_name) 
    ... 
end 

は、どのように私はこの構文

を使用して、「変数名」の値を渡すことができます
[...] :url => { :action => :action_name("name") } [...] 

?出来ますか?鑑み

+0

なぜこのようなことをしたいですか?あなたは例を挙げることができますか?私はそれが可能だとは思わない。 –

答えて

13

:このコードは、URLにクエリ文字列の一部として変数名を通過する

def action_name 
    variable_name = params[:variable_name] 
    @something = Something.where(:name => variable_name) 
    #More code in this method 
end 

:コントローラで:url => {:action => :action_name, :variable_name => 'dog'}

機密データのためにこのアプローチを使用しない、http://site.com/something?variable_name=dog 明らかに、代わりにsession [:variable_name]を使用してください。

1

これが可能かどうかはわかりません。しかし、代わりにparamsを取得するためにparamsハッシュを使用してみませんか?

1

sessionまたはflashを使用することをおすすめします。例えば

def action1 
    session[:your_key] = some_object 
    redirect_to some_action_path 
end 

def action2 
    @some_object = session[:your_key] 
    # ... 
end 
関連する問題