ruby - 如何从 Ruby on Rails 中的字符串值创建变量名?

标签 ruby instance-variables

我想在 Controller 中创建一个实例变量以在 View 中使用:

foo = "bar"
instance_variable_set("#{foo}", "cornholio")

在 View 中,使用@bar 以便:

@bar => "cornholio"

这会产生一个错误:'bar' is not allowed as an instance variable name

在 Rails 3.1 中工作

最佳答案

这个instance_variable_set("#{foo}", "cornholio")需要读取instance_variable_set("@#{foo}", "cornholio")

基于 this post .刚刚在我的 irb 中为 Ruby 1.93 尝试过;该帖子来自 2009 年。

关于ruby - 如何从 Ruby on Rails 中的字符串值创建变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612054/

相关文章:

ruby - 合并哈希数组 : value should be the average of merged values

java - 为什么实例字段不需要是 final 或有效 final 才能在 lambda 表达式中使用?

objective-c - 如何在 Objective-C 中使用类别访问@private 实例变量?

objective-c - 私有(private)@property 是否创建@private 实例变量?

dart - 如何在Dart中通过 `this`获取当前的类实例并分配给final属性

java - 继承:对象创建

ruby - 从字符串中删除括号

ruby - Cheezy的Page对象,获取Page内定义的所有text_fields

ruby-on-rails - 更新 Stripe 的客户信用卡信息

ruby - Pry 中有 next 的等价物吗?