Rails - 模型实例变量来自哪里?

时间:2011-10-22 05:39:52

标签: ruby-on-rails-3 activerecord

我来自ASP.NET MVC背景,目前正在阅读以下Rails教程:http://guides.rubyonrails.org/getting_started.html

我创建了一个包含一些实例变量的“Post”模型,但它们似乎没有在模型中定义。他们必须来自其他地方。他们在哪里定义?

2 个答案:

答案 0 :(得分:0)

Google搜索“activerecord模型”,这是最好的结果:

  

Active Record对象不直接指定它们的属性,而是从与它们链接的表定义中推断它们。添加,删除和更改属性及其类型直接在数据库中完成。任何更改都会立即反映在Active Record对象中。将给定的Active Record类绑定到某个数据库表的映射将在大多数常见情况下自动发生,但可以为不常见的情况覆盖。

答案 1 :(得分:0)

您可以使虚拟变量与表/模型中的字段无关。一个常见的例子是身份验证中使用的'password'和'password_confirmation'变量。您将它们临时存在,直到您对其进行加密并将其保存到另一个字段,如“encrypted_pa​​ssword”。

您可以声明它们,但这不是必需的。您无需在任何地方定义或声明它们......只需开始使用它们即可。当然,它们并不是持久的,所以不会被保存。