:this 在 Ruby on Rails 中意味着什么?

2024-01-03

我是 Ruby 和 Ruby on Rails 世界的新手。我已经阅读了一些指南,但我在使用以下语法时遇到了一些问题。 我认为使用:conditionRuby 中使用语法来定义具有某种访问器的类属性,例如:

class Sample
  attr_accessor :condition
end

隐式声明“条件”属性的 getter 和 setter。 当我查看一些 Rails 示例代码时,我发现以下示例我并不完全理解。

例如:

@post = Post.find(params[:id])

为什么它访问id使用此语法的属性,而不是:

@post = Post.find(params[id])


或者,例如:

@posts = Post.find(:all) 

Is :all这里是一个常数?如果不是,这段代码的真正含义是什么?如果是,为什么不使用以下内容:

@posts = Post.find(ALL)

Thanks


文本前的冒号表示symbol在红宝石中。符号有点像常量,但它几乎就像符号接收一个唯一值(您不关心)作为其常量值。

当用作哈希索引时,符号几乎(但不完全)与使用字符串相同。

另外,您可以阅读“全部”:all通过致电to_s符号上。如果你有一个常量变量ALL,除了查找其值之外,无法确定它是否表示“全部”。这也是为什么您可以使用符号作为元方法的参数,例如attr_accessor, attr_reader,等等。

你可能想要阅读 Ruby 符号 https://web.archive.org/web/20080912225757/http://glu.ttono.us/articles/2005/08/19/understanding-ruby-symbols.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

:this 在 Ruby on Rails 中意味着什么? 的相关文章

随机推荐

  • Knockout - 被点击的元素

    我有以下标记 fieldset div div fieldset
  • 如何将两个整数相除以获得双精度数?

    如何将两个整数相除以获得双精度数 您想要投射数字 double num3 double num1 double num2 注意 如果 C 中的任何参数是double a double使用除法 结果是double 因此 以下内容也可以工作 d
  • Python将变量视为文字/原始字符串[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不敢相信治疗如此困难variable as a 原始字符串 我搜索并发现了类似的问题 但没有正确的答案 我有一个带有存储域名的变量 do
  • GMA 500 集成显卡上的 WPF 性能缓慢

    我的团队正在开发要部署在 Intel Atom Z530 上网本硬件平台上的 WPF 应用程序 Intel Atom Z530 配备 Intel GMA 500 集成显卡 具有 PowerVR SGX 535 GPU 核心 PowerVR
  • 射线与平面的交点坐标

    我有一条射线和一架飞机 射线与平面相交 我想知道在哪里 如何获得该交点的世界坐标 我的特殊情况是 我将屏幕坐标取消投影到相机并创建光线 该平面是场景的地面 var vector new THREE Vector3 mousePosition
  • 如何在不刷新整个页面的情况下让 Grunt/Watch/LiveReload 重新加载 Sass/CSS?

    到目前为止 我已经让一切按照我想要的方式工作 即监视我想要的所有文件并在发生更改时刷新 除了我希望能够对 Sass CSS 进行修改并刷新它在没有页面加载的浏览器中 这不是什么大问题 但有时我会在进行一些页面交互后尝试修改某些内容的样式 并
  • 使用“data.table”根据变量获取子组的第一个

    考虑一个由分组变量组成的数据集 这里id 和一个有序变量 这里date df lt data frame id rep 1 2 2 date 4 1 id date 1 1 4 2 2 3 3 1 2 4 2 1 我想知道最简单的方法是什么
  • iPhone Web App - 在 iOS8 中停止身体弹跳/滚动

    是的 我知道 这个问题之前已经被问过一千次了 感谢你们所有人 我终于找到了一个解决方案 最终在 更新到 iOS 8 后 似乎没有任何效果 iOS7 中最适合我的是什么 Css html body scrollable overflow au
  • mysql中选择部分表列数据

    我有一个包含 2000 个条目的 照片 表 该表有一列名为photo note其中包含以下格式但具有不同放大值的数据 Magnification 30x The resolution varies depending on 我需要选择以 分
  • CTE(通用表表达式)与临时表或表变量,哪个更快?

    CTE 通用表表达式 与Temp tables or Table variables 哪个更快 正如我在评论中已经说过的 这取决于 它确实取决于您的查询 您的数据 有多少 它是什么类型 等等 不过 需要记住一些要点 CTE 是仅对下一条语句
  • 编译 jitsi 项目时,转换为 Dalvik 格式失败,出现错误 1

    我正在尝试编译并运行该项目https github com jitsi jitsi android https github com jitsi jitsi android在 Eclipse 上通过导入 我已成功导入项目 添加了外部 Jar
  • Shopify 结账中的脚本标签

    我正在考虑为 Shopify 开发一款应用程序 该应用程序将为商店的结帐页面添加功能 如果用户不必将代码复制并粘贴到文件中 那将是理想的选择 因此我正在考虑使用 ScriptTag API http api shopify com scri
  • 为什么内部调用内的 lapply 与内部调用内的变量赋值不同?

    考虑 notBroken lt within mtcars gear lt as factor gear cyl lt as factor cyl str notBroken 我们的输出 gt str notBroken data fram
  • 将 SQL 中的 CASE 表达式转换为 SSIS 中的派生列 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions CASE WHEN CHARINDE
  • 禁用 Cypress 自动滚动

    我正在测试我的应用程序 我有很长的侧边菜单 并且我有这样的代码 cy get tab click force true 自动滚动发生在获取和单击之间 然后选定的选项卡不可见 因为顶部菜单的位置已固定 我找到了很多解决方案 但没有一个有效 到
  • 如何在 Swift iOS 应用程序中添加 Google Drive API?

    我有一个用 Swift 编写的应用程序 它已经使用了 SwiftyDropbox API 我用 cocoapods 安装了 SwiftyDropbox use frameworks 关键词 现在 当我添加这个 pod 时 Google AP
  • 在 WooCommerce 3+ 中向订单添加自定义字段

    在 WooCommerce 中 我想添加一个新的自定义字段来订单详细信息 现在我可以使用下面的代码创建一个新的自定义字段 referenceNumber 并在其中添加 ordercreated 值 update post meta orde
  • SpriteKit场景切换时的内存问题

    Ok so awhile back in testing I had a random crash with no error and I have no clue why So i went into analyze things and
  • npm 如何/为什么建议不要以 root 身份运行?

    简而言之 首先 为什么npm http npmjs org 建议它只能以非 root 身份运行 我非常不相信其他所有包管理器 apt yum gem pacman 要求 sudo 是错误的 其次 当我遵循他们的建议 并运行npm insta
  • :this 在 Ruby on Rails 中意味着什么?

    我是 Ruby 和 Ruby on Rails 世界的新手 我已经阅读了一些指南 但我在使用以下语法时遇到了一些问题 我认为使用 conditionRuby 中使用语法来定义具有某种访问器的类属性 例如 class Sample attr