什么:这意味着Ruby on Rails?
发布时间:2020-12-16 20:59:09 所属栏目:百科 来源:网络整理
导读:我是 Ruby和 Ruby on Rails世界的新手.我已经阅读了一些指南,但我在使用以下语法时遇到了一些麻烦. 我认为在Ruby中使用:condition语法来定义具有某种访问器的类属性,例如: class Sample attr_accessor :conditionend 隐式声明“条件”属性的getter和setter
我是
Ruby和
Ruby on Rails世界的新手.我已经阅读了一些指南,但我在使用以下语法时遇到了一些麻烦.
我认为在Ruby中使用:condition语法来定义具有某种访问器的类属性,例如: class Sample attr_accessor :condition end 隐式声明“条件”属性的getter和setter. 例如: @post = Post.find(params[:id]) 为什么它使用这种语法访问id属性,而不是: @post = Post.find(params[id]) 或者,例如: @posts = Post.find(:all) 是:这里一直都不变?如果没有,这段代码的真正含义是什么?如果是,为什么不使用以下内容: @posts = Post.find(ALL) 谢谢 解决方法
文本前面的冒号表示Ruby中的符号.符号有点像常量,但它几乎就像一个符号接收一个唯一值(你不关心)作为它的常量值.
当用作哈希索引时,符号几乎(但不完全)与使用字符串相同. 此外,您可以通过在符号上调用to_s来读取所有内容:all.如果你有一个常量变量ALL,除了查找它的值之外,没有办法确定它意味着“全部”.这也是为什么你可以使用符号作为元方法的参数,如attr_accessor,attr_reader等. 你可能想要read up on Ruby symbols. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |