(Rails)构建多模型控制器和索引视图...?
问题描述:
我目前在一个SITE MANAGER页面管理多个模型。我有以下关系:(Rails)构建多模型控制器和索引视图...?
Sites -> Buildings -> Meters -> Values
除了每一个“站点”项无我有“编辑|删除| Add建筑” 除了每个“大厦”项目我有“编辑|删除|添加表” 除了每个“仪表“项目我有”编辑|删除|增加值“ 除了每个”价值“项目我有”编辑|删除“
在这一点上,我有一个frankensteined控制器称为”SiteManagerController“管理此页面。我只是有像这样的方法(和在routes文件相应的路由):
add_site
add_building_to_site
add_meter_to_building
delete_site
delete_building
delete_meter
什么我不知道,但是,无论是否存在质量机制,利用现有的项目控制器CRUD方法,同时能够为“SiteManager”页面和控制器渲染相应的RJS文件?
这将是很好,如果我能以某种方式路由到原始控制器(以便不必手动重写所有方法),同时也有轨道重定向控制(不仅在视觉上,而且在上下文中)回到“SiteManager”控制器创建或删除后。请记住,我不是处理表单,但只是一个INDEX页面和多个“link_to_remote”s
我很可能会问错误的问题,所以请考虑......无论如何,米开放的建议。
最好。
答
你可以绝对使用退出项目控制器的CRUD方法。你可以在任何网址指向link_to_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”上下文中影响部分或抓取rjs? – 2009-06-23 10:54:02