加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么:这意味着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.
虽然我正在查看一些Rails示例代码,但我发现以下示例我并不完全理解.

例如:

@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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读