Ruby on rails (Rails)构建多模型控制器和索引视图。。。?

Ruby on rails (Rails)构建多模型控制器和索引视图。。。?,ruby-on-rails,controller,models,Ruby On Rails,Controller,Models,我目前正在从一个站点管理器页面管理多个模型。我有以下关系: Sites -> Buildings -> Meters -> Values 在我编辑的每个站点项目旁边|删除|添加建筑 在我编辑的每个建筑项目旁边|删除|添加米 在每个仪表项目旁边,我有编辑|删除|添加值 在我编辑的每个值项旁边|删除 在这一点上,我有一个被称为SiteManagerController的弗兰肯斯坦控制器来管理这个页面。我只是在routes文件中有一个方法和相应的route,如下所示: add_si

我目前正在从一个站点管理器页面管理多个模型。我有以下关系:

Sites -> Buildings -> Meters -> Values
在我编辑的每个站点项目旁边|删除|添加建筑 在我编辑的每个建筑项目旁边|删除|添加米 在每个仪表项目旁边,我有编辑|删除|添加值 在我编辑的每个值项旁边|删除

在这一点上,我有一个被称为SiteManagerController的弗兰肯斯坦控制器来管理这个页面。我只是在routes文件中有一个方法和相应的route,如下所示:

add_site
add_building_to_site
add_meter_to_building

delete_site
delete_building
delete_meter
但是,我想知道的是,是否存在一种质量机制,通过该机制可以使用现有的item controller CRUD方法,同时能够为SiteManager页面和控制器呈现适当的RJS文件

如果我能够以某种方式路由到原始控制器,这样就不必手动重写所有方法,同时让rails重定向控制不仅在视觉上,而且在创建或删除后在上下文中返回到SiteManager控制器,那就太好了。请记住,我不是在处理表单,而只是一个索引页和多个到远程链接

我很可能问错了问题,所以请考虑……无论如何,我都愿意接受建议。


最好。

您完全可以使用现有的item Controller CRUD方法。您可以将link_指向任意url的_remote,它将插入您指示它插入的html。只要在routes.rb中保留默认路由,一切都会正常工作。这将使用户保持在SiteManager页面上,但他将在幕后与RESTful路由进行交互

link_to_remote "Edit", :update => "site_#{site.id}",
     :url => site_url(site), :method => :put
link_to_remote "Add Building", :update => "new_building", :url => buildings_url,
     :method => :post

SitesController < ApplicationController
  def update
    @site = Site.find(params[:site_id])
    @site.update_attirbutes!(params[:site_id])
    render :partial => @site
  end
end

BuildingsController < ApplicationController
  def create
    @building = Building.create(params[:building])
    render :partial => @building
  end
end

理解,但我如何呈现:更新并影响SiteManager索引页?我是否将其放置在每个项目的控制器中?完成后,它如何知道如何影响SiteManager上下文中的部分或抓取RJ?