我使用Ruby on Rails的3是否可以使用Ruby on Rails 3將變量傳遞給動作?
在我的控制器我有(我可以有?!):
def action_name(variable_name)
...
end
我怎樣才能通過「變量名」的值,使用此語法
[...] :url => { :action => :action_name("name") } [...]
?可能嗎?
我使用Ruby on Rails的3是否可以使用Ruby on Rails 3將變量傳遞給動作?
在我的控制器我有(我可以有?!):
def action_name(variable_name)
...
end
我怎樣才能通過「變量名」的值,使用此語法
[...] :url => { :action => :action_name("name") } [...]
?可能嗎?
鑑於::url => {:action => :action_name, :variable_name => 'dog'}
在控制器:
def action_name
variable_name = params[:variable_name]
@something = Something.where(:name => variable_name)
#More code in this method
end
此代碼將傳遞變量名作爲查詢字符串的URL中的一部分:http://site.com/something?variable_name=dog
顯然,不使用這種方法對敏感數據,並使用:session [:variable_name]來代替。
我不確定這是可能的。但是,爲什麼不使用params散列來獲取該參數?
我建議你使用session
或flash
。例如
def action1
session[:your_key] = some_object
redirect_to some_action_path
end
def action2
@some_object = session[:your_key]
# ...
end
你爲什麼要這樣做?你能舉一個例子嗎?我不認爲這是可能的。 – 2011-02-04 13:30:06