odi*_*ity 4 forms polymorphism model-view-controller comments ruby-on-rails
大家好.在我的第一个Rails应用程序上工作.
我四处搜索 - 阅读了一堆教程,文章和论坛帖子,观看了一些截屏视频,我发现了一些接近我正在尝试做的例子(特别是http:// railscasts. com/episodes/154-polymorphic-association和ep 196关于嵌套模型表格),但不完全一样.
我有两个需要注释的模型(Podcast和BlogPost),我有一个与两者都多态相关的Comment模型.上面的railscast有一个非常相似的例子(ep 154),但是Ryan使用了一整套嵌套路线,所以有特定的模板用于添加和编辑注释.我想要做的是在Podcast或BlogPost页面上显示评论列表,并在底部显示添加评论表单.我不需要单独的添加模板/路由,我不需要编辑,只需要删除.
这是一个非常常见的网络设计,但我找不到专门针对这种模式的Rails示例.这是我目前的理解:
当然,我需要创建和删除操作的路由,但没有与之关联的模板.我也猜测正确的方法是创建一个可以包含在Podcast和BlogPost节目模板底部的部分内容.部分的逻辑名称在我看来像_comments.html.haml.我知道将对象传递给部分的常见约定是在模板之后命名,但调用对象'comments'似乎与我的用例不匹配,因为我真正需要传递的是可注释对象(Podcast或BlogPost) ).所以,我想我会使用locals选项进行渲染部分调用?(:commentable => @podcast).
在部分内部,我可以调用commentable.comments来获取评论集合,使用第二部分(这次使用传统用例,调用部分_comment.html.haml)渲染,然后创建一个提交的表单. . 什么?REST方面,它应该是一个POST集合,这将是/ podcast | blogpost /:id/comments,我认为它的助手是podcast_comments_path(podcast),如果它是一个播客 - 不知道该怎么办因为我正在使用多态注释.这将触发Comment.create操作,然后需要将其重定向回podcast | blogpost path/podcast | blogpost /:id.
这一切都有点压倒性,这就是为什么我真的希望找到专门实现这种设计的截屏视频或示例.
odi*_*ity 15
我弄明白了,实现了它,测试了它,然后最后写了一个教程解释如何为其他人做这个:
http://wiki.github.com/hcatlin/make_resourceful/embedded-nested-polymorphic-comments