新手问题 Rails 中 Symbol 的用法?

ruby_mbyd916 · 2013年11月27日 · 最后由 ruby_mbyd916 回复于 2013年11月30日 · 3853 次阅读

1.routes.rb 配置 resources :posts, ‘:posts’表示什么意思?resources 具体可表示哪些东西? 2.在 Model 中,has_many :comment 以及 belongs_to :post,符号各代表什么呢? 3.请求的 url,如/posts,是指 app/views/posts 文件夹吗?

看了官方的文档 Getting Started with Rails 后,应该就会理解了。

#1 楼 @reyesyang 看了一部分,没有找到答案呢。。。

Read The Fu*king Manual

不得不顶一下 #3 楼……

Read The Fu*king Guide

What A Fu*king Newbee

#6 楼 @debbbbie ,Newbie?难道你不是从菜鸟一步一步提升的么,这本来就是新手交流区,有问题为什么不能提出来,你若不能回答,请绕行!

#7 楼 @ruby_mbyd916 不要生气嘛,我是为了保持队形现编的,可能编的不够优雅,但完全没有恶意,请不要理解为人生攻击。当然《阿凡达》里也是这样说新兵蛋子的。

我 3 楼起了个坏头,应该受到谴责,谴责之余,我要告诉楼主为什么这贴是个坏问题,顶楼的问题没有提供以下信息:

  1. 为了解决这个问题,查了什么资料了
  2. 为了解决这个问题,做过什么试验了
  3. 如果依然没有解决问题,遇到的了什么错误,详细信息是什么

现在的问题,我看得出就是 gettting started 没看完,遇到一个不懂的词就粘贴过来问,这样的问题我想没有人会认真答的,除非他很闲。

楼主也应该认真阅读《提问的智慧》 http://www.wapm.cn/smart-questions/smart-questions-zh.html

#8 楼 @debbbbie 没有生气,真的只是想多学点东西,看了一部份手册,我提出的这些问题确实没找到答案。

#9 楼 @Rei 谢谢你的建议,以后的学习中,我会多加注意的。

同意@Rei的看法,事实上,你的问题都是在 Rails Guides 上有最直接的解释的。 可能是因为你编码经验还不多,建议你可以找一下相关的教程,走一遍 Rails 开发的流程,实际操作之后,这些概念都会很好理解了。

我看了 lz 的帖子,发现自己竟然不能很准确的回答 lz 的这个问题。再去看了下。发现竟然是这样 resources method which can be used to declare a standard REST resource. 还好跟我理解的一样

那么 Symbol 对我们有什么用呢?当然也是内存。使用 String 的开销太大了,因为每一个 String 都是一个对象。想想前边的例子,一个字符串每出现一次 Ruby 就会创建一个 String 对象。

1. 作为哈希表的 key

哈希表是 Symbol 应用最为广泛的地方。 在 ruby 中,哈希和数组类似,一个哈希表是一系列 key/value 对的集合,只不过它的 key 取值范围更广泛,可以是任何对象,比如正则表达式。但通常我们都会取有意义的 key,比如 String、Symbol。 下面这个哈希表表示按城市分类的一些机器的集合。

hosts{       
'beijing' => 'machine1',      
 'shanghai'  => 'machine2',      
 'guangzhou' => 'machine3',       
'tianjin' =>  'machine4',       
'shenzhen' => 'machine5'}

2. 哈希参数

通常我们定义的函数的参数的个数和顺序是写死的,调用函数的时候要确保参数的个数、顺序匹配,有时候这样很不方便,使用哈希参数可以解决这个问题。 ROR 中就大量地运用这种方式,也许你已经看到了,到处都是 Symbol 和哈希。比如:

link_to 'Show', :action => 'show', :id => productadd_column :products, :price, :decimal, :precision => 8, :scale => 2, :default => 0

虽然这段资料是我抄袭的。但是看到排版这么辛苦的份上,给我个赞吧。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号