浏览 2844 次
锁定老帖子 主题:我的ROR代码还是写得比较山寨
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-13
http://guides.rubyonrails.org 上面的示例代码,发现自己写的ROR代码,想当然地写,一看就知道是没有经过正规化的山寨型代码,比如:
今日看了不少 @discussion = Discussion.new(params[:discussion]) @discussion.resource = @page @discussion.save! 官方的写法如下: @discussion = @page.discussions.create(params[:discussion]) @page.save 我的写法也无不可,照样正常工作,不过官方的怎么看怎么顺眼一些(不知道是不是心理作用)。但是官方的写法中,两个model的关系看得比较顺眼些。 ruby的代码风格肯定是会有很明显的个人风格的,这个看ruby语言的特性就知道了,同一样的功能,N个人可以有N种实现风格的。 不过我觉得多看一些官方的示例代码,不但可以规范一下,连思维方式都大有好处。 不过也不怕,一步步慢慢来,总会写出令自己满意的代码的。 一直有心想读一读ROR的源代码,只是一时半会间,不知道如何开始。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-14
看一遍 AWDWR 就知道这种写法了。
|
|
返回顶楼 | |
发表时间:2008-11-14
另外那个‘官方’代码如果 @page 也是新建元素的话,这种写法是无效的吧
应该是: @page.discussions.build(params[:discussion]) @page.save 为了统一,还不如全和按上面写呢 |
|
返回顶楼 | |
发表时间:2008-11-14
看到build,
build,我有次建立了表 ,名字就叫builds,然后 一运行 user.build,啊,就新建了一个对象,真晕,整了好久才知道有一个build的函数。 这个可以随意定义和覆盖同名函数的功能,出现这样的情况,实在是晕年。 |
|
返回顶楼 | |
发表时间:2008-11-14
我觉得上面挺好的呀?有什么山寨的。
|
|
返回顶楼 | |