:) 我没事就喜欢拿blog练手,blog简单嘛。
嗯,其实这是一个个人空间,blog只是其中的一个模块,我写的时候就在想,模块一多出来的话,那model目录下的model数量不是很多?对了,看过的rails书籍、guides等材料怎么都没有提到过如何划分模块呢?JE上也许有吧,于是搜索了一下,找到这个:[url]http://www.iteye.com/topic/166325[/url]
其中
[quote="magicgod"]2.0已经有了命名空间,例如:
于是我就按照这种方法给model分了模块,像这样
但是这样会有一个问题,生成的migration中,table名会变成blog_topic,而不是topic,这样在持久化操作的时候rails会[color=red]找不到topic表[/color]。如果手动修改migration的话,一来减少了coc的好处,第二,它还是会有问题:运行一下自动生成的那个unittest,rails会报告[color=red]找不到blog_topic[/color]表……需要手动修改fixtures目录中那些yml文件名,把前面的blog_前缀给删除掉。
看来rails对分模块的开发还不能很好的支持呀,大家平时是怎么做的?不会很少划分模块吧?JE上相关的讨论好像就那一个帖子。
对了,还有其中[quote="liusong1111"]我们的controller组织在多层module/目录下,把model全部放在/models下,效果不错。[/quote]
我有疑问,controller相对于model来说是更粗粒度的,假如给controller分模块了,那model为什么不分?我自己的想法是把model给分了,controller直接放在controller目录下。比如说一个个人空间的blog模块,我要写的话就只有一个BlogsController,和若干个model:Topic,Tag,Comment。每个功能模块对应一个controller我想应该是能做到的,所以我觉得对controller再划分模块好像反而没什么必要。
我想请教一下,大家平时都是怎么组织自己项目中的代码?
===========================================
:oops: 在“相关帖子”中又找到一个帖子:
[url]http://www.iteye.com/topic/222859[/url]
yangzhihuan的方法不错,比起手动修改生成的那些东西好。
[quote="yangzhihuan"]我的解决方法是:
嗯,其实这是一个个人空间,blog只是其中的一个模块,我写的时候就在想,模块一多出来的话,那model目录下的model数量不是很多?对了,看过的rails书籍、guides等材料怎么都没有提到过如何划分模块呢?JE上也许有吧,于是搜索了一下,找到这个:[url]http://www.iteye.com/topic/166325[/url]
其中
[quote="magicgod"]2.0已经有了命名空间,例如:
ruby script/generate model Admin::User
[/quote]
于是我就按照这种方法给model分了模块,像这样
ruby script/generate model Blog::Topic title:string content:text
但是这样会有一个问题,生成的migration中,table名会变成blog_topic,而不是topic,这样在持久化操作的时候rails会[color=red]找不到topic表[/color]。如果手动修改migration的话,一来减少了coc的好处,第二,它还是会有问题:运行一下自动生成的那个unittest,rails会报告[color=red]找不到blog_topic[/color]表……需要手动修改fixtures目录中那些yml文件名,把前面的blog_前缀给删除掉。
看来rails对分模块的开发还不能很好的支持呀,大家平时是怎么做的?不会很少划分模块吧?JE上相关的讨论好像就那一个帖子。
对了,还有其中[quote="liusong1111"]我们的controller组织在多层module/目录下,把model全部放在/models下,效果不错。[/quote]
我有疑问,controller相对于model来说是更粗粒度的,假如给controller分模块了,那model为什么不分?我自己的想法是把model给分了,controller直接放在controller目录下。比如说一个个人空间的blog模块,我要写的话就只有一个BlogsController,和若干个model:Topic,Tag,Comment。每个功能模块对应一个controller我想应该是能做到的,所以我觉得对controller再划分模块好像反而没什么必要。
我想请教一下,大家平时都是怎么组织自己项目中的代码?
===========================================
:oops: 在“相关帖子”中又找到一个帖子:
[url]http://www.iteye.com/topic/222859[/url]
yangzhihuan的方法不错,比起手动修改生成的那些东西好。
[quote="yangzhihuan"]我的解决方法是:
class Blog::Article < ActiveRecord::Base
set_table_name :blog_article
end
[/quote]