【问题标题】:Why is view code not wrapped inside classes?为什么视图代码不包含在类中?
【发布时间】:2013-03-17 00:25:08
【问题描述】:

这是“为什么事情以某种方式运作”的问题之一。

由于 Rails 是一种纯面向对象的语言,控制器代码、模型代码、帮助代码、迁移代码等都封装在类中。但不能查看代码。

所以我想知道:Rails 怎么知道视图代码属于Active View class?这在内部是如何运作的?

【问题讨论】:

  • 看看 Rails 代码中的渲染调用。 ActionView 有 Railscasts 演练。

标签: ruby-on-rails oop class model-view-controller


【解决方案1】:

所有 Ruby 文件都在一个类中运行,只需运行一个包含以下内容的文件:

puts self.class.name

你会看到你的代码在执行时被包裹在一个Object 类中。

【讨论】:

  • 谢谢你——奇怪的是,self.class? 放了一个课,但 self.class.name 什么也没放。怎么会?
  • puts self.class.name 为我打印Object。红宝石 1.9.3
  • 没有给我任何东西 - 这里是相同的 ruby​​ 版本
  • 不管怎样,虽然我的回答并不能提供非常丰富的信息,但所有 ruby​​ 代码都是在类的上下文中执行的,而且我确信 rails 也会在类的上下文中执行视图。
  • 我知道如果是这样 - 但是作为程序员,我们为什么不必须将视图代码包装在一个类中呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 2023-02-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
相关资源
最近更新 更多