我正在尝试做一个简单的家庭聚会网站,其中包含:“帖子”、“家庭”、“孩子”和“图片”。理想情况下,我希望路由/关系的结构如下:
resources :posts do
resources :pictures
end
resources :fams do
resources :pictures
resources :kids do
resources :pictures
end
end
在模型中我有必要的“belongs_to
" and "has_many
" 之间设置的关系fams
and kids
. Fams
, kids
, and posts
全部定义为"has_many :pictures, :as => :imageable
" 而图片定义为:belongs_to :imageable, :polymorphic => true
当尝试做的时候link_to "Edit"
and link_to "Destroy"
in the pictures
我遇到的各种观点_path
问题。polymoric_path
在两个层面上工作得很好,即posts-pictures
and fams-pictures
但它无法处理三级情况fams-kids-pictures
。我猜它不是为处理“的两个级别而设计的”imageable
“ 上方的物体picture
目的。另一个问题是,在一个例子中pictures
控制器必须处理“一级”资源嵌套情况,而在另一种情况下,它必须处理“两级”情况。不知道如何解决这个问题。
我尝试过的一件事是,根据 Ruby Guides 的说明,将资源嵌套的深度不要超过一层。我这样构造它们:
resources :posts do
resources :pictures
end
resources :fams do
resources :pictures
resources :kids
end
resources :kids do
resources :pictures
end
由于不再保留家庭与孩子的关系,这导致了另一组路径问题。我也无法让 polymorphic_path 在所有不同的环境中正确运行picture
意见。
所以这是我的主要问题:有谁知道 Rails 3 示例/教程,其中嵌套资源、belongs-to/has_many 和多态关系都放在一起,特别是它不仅仅是最简单的两级关系。例子表明? (我对 Rails 相当陌生,鉴于我缺乏 Rails 历史经验,我在这些领域发现的 Rails 2 示例令人困惑。)
或者有人可以告诉我如何构建link_to EDIT
and link_to DELETE
为我的陈述picture
的观点,以及redirect-to
为我的声明create
, update
, and destroy
我的方法pictures
控制器?
Thanks!