当前位置:  开发笔记 > 程序员 > 正文

何时在Rails视图中使用@以及何时使用符号?

如何解决《何时在Rails视图中使用@以及何时使用符号?》经验,为你挑选了2个好方法。

我要在这里切断一会儿,但要忍受我.

首先,我建议您使用RESTful路由,因为这使您可以访问一些Rails更好的方法和操作,例如能够:

form_for(@album) do |f|

并根据#new_record?该对象的状态确定您想要去的地方.

其次,随着新form_for的到位,您将能够通过以下方式干扰您的观点:

<%= f.text_field :title %>

代替:

<%= text_field :album, :title %>

最后解释为什么在Rails中使用@符号定义变量,也称为"实例变量":

当你定义在Rails的一个实例变量,它是可用的情况下为整个请求内里的"实例"是ActionControllerActionView那被调用来完成所有的渲染等等为你的方法链.其定义为一个实例变量将使它在你的控制器可用,则控制器定义后调用任何方法,你的助手,你的意见和谐音从您的控制器,助手或视图渲染.

基本上,它适用于整个请求,但在模型中无法访问.

其他变量规范是类变量(@@some_useful_thing = 1)和全局变量($some_other_useful_thing = 1)和常量(ALL_IN_UP_CASE = 1).



1> Ryan Bigg..:

我要在这里切断一会儿,但要忍受我.

首先,我建议您使用RESTful路由,因为这使您可以访问一些Rails更好的方法和操作,例如能够:

form_for(@album) do |f|

并根据#new_record?该对象的状态确定您想要去的地方.

其次,随着新form_for的到位,您将能够通过以下方式干扰您的观点:

<%= f.text_field :title %>

代替:

<%= text_field :album, :title %>

最后解释为什么在Rails中使用@符号定义变量,也称为"实例变量":

当你定义在Rails的一个实例变量,它是可用的情况下为整个请求内里的"实例"是ActionControllerActionView那被调用来完成所有的渲染等等为你的方法链.其定义为一个实例变量将使它在你的控制器可用,则控制器定义后调用任何方法,你的助手,你的意见和谐音从您的控制器,助手或视图渲染.

基本上,它适用于整个请求,但在模型中无法访问.

其他变量规范是类变量(@@some_useful_thing = 1)和全局变量($some_other_useful_thing = 1)和常量(ALL_IN_UP_CASE = 1).



2> Marc W..:

变量名前面的@符号表示当前类中的实例变量.:(冒号)前缀创建一个Symbol.在您的示例中,@album.id@album实例变量的id发送到form_tag,允许form_tag从数据库中读取该对象,并使用该对象中的相应数据填充表单字段.您在text_field方法中传递的符号form_tag用于访问它从数据库创建的对象的特定属性.然后,它将这些属性的值放入它生成的文本字段中.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有