dav*_*idb 4 ruby ruby-on-rails ruby-on-rails-3
我有一个部分应该根据变量访问各种控制器的实例params[:controller]变量.使用singularize和downcase,我定义实例变量的名称,按惯例,它是控制器名称的单数.
但我只得到一个String.如何调用名为string的实例变量?
例如,我有控制器Articles,所以我做了以下事情:
params[:controller].singularize.downcase # => "article"
Run Code Online (Sandbox Code Playgroud)
现在我想访问@article.我怎样才能做到这一点?
bor*_*r1s 11
instance_variable_get()红宝石中有一种方法.所以尝试这样的事情:
var_name = params[:controller].singularize.downcase # article
instance_variable_get("@#{var_name}")
Run Code Online (Sandbox Code Playgroud)
PS:记住你应该instance_variable_get在适当的环境中使用.
| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |