Rails 新手,想弄明白什么时候/为什么要在框架。
我想我从概念上理解了它们之间的区别
- 每个项目只有一个
:symbol
实例 - 每个实例一个
@ivar
- 多个
“strings”
- 因为它们是在引用时创建的 (?)
随时纠正我!
主要的困惑来自理解 Rails 期望的规则和约定 - 在哪里以及为什么?
我敢肯定会有一个“啊哈!”时刻即将到来,但我还没有……因为它对我来说似乎很随意(来自 C/Obj-C)。
-谢谢
最佳答案
@instance_variable
是一个实例变量。它通常在 Controller 中定义并可在 View 中访问。
"string"
是一个字符串,就像在任何其他语言中一样。
:symbol
,正如您所提到的,它是一种表示名称和字符串的有效方式;它们是文字值。它在 ruby session 期间被初始化并且只存在一次。它不是字符串,因为您无权访问 String 方法;这是一个符号。最重要的是,它是不可变的。由于这些原因,在哈希中表示键变得非常方便。 Rails 方法使用散列,因此在 Rails 中随处可见符号。
关于ruby-on-rails - Ruby on Rails- :symbols, @iVars 和 "strings"- 天啊!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999875/