我使用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