Day Three: Model construction

Finally, almost finished...

今天做了好多事情

首先理解了不同models之间的associations,测试中用到的是one-many。其实这个问题着实困扰了我比较久。因为官方文档中的例子也是one-many,也就是一篇article对应很多comment,但每个评论都是从属于对应的文章。但我要实现的不同点在于,那个many的model不可以在route中从属于对应的one。

因为实现了官方文档的关系,这种one-many的从属关系深深印在我的脑海里,我最开始以为many是没有独立id的,检索方式是article[article_id][comment_id],不同的many可能会有相同的id。
我是多么的naive。

最开始做官方文档时命名时大小写的问题困扰了我很久,今天也大概搞清楚了。还是以article为例
首先,controller的命名时articles,与此对用的,routes中的资源也是articles。其次,view和controller也是对应的,所以也是articles。model因为定义了一个类Article,需要首字母大写。
现在还没有搞清楚的时,在定义association时,

# each article has many articles
has_many :comments

# each comment belongs to one article
belongs_to :article

为什么一个是复数一个是单数。

今天还实现了scope,实在是个好东西,一举解决很多问题。特别是default_scope,居然对find也有效。

今天的问题是,在routes中

get '/patients/:id', to: 'patients#show'
get ':controller(/:action(/:id))'

我可不可以自己定义action,代替原来的delete或者get。

晚安

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容