Звучит как интересный интерфейс, просто мысль ... вы можете подумать о том, чтобы сделать контроллеры или измерения в виде диалоговых окон, просто чтобы уменьшить беспорядок в пользовательском интерфейсе. Здесь идет:
В ваших маршрутах:
map.resources :sites do |site|
site.resources :buildings do |building|
building.resources :controllers do |controller|
controller.resources :measurements
end
end
end
Возможно, вы захотите выделить вложенные ресурсы в предыдущем, чтобы уменьшить сложность.
Просмотр сайта
(записано в HAML для краткости):
%ul#sites{:style => 'float:left'}
-@sites.each do |s|
%li= link_to s.name, site_buildings_path(s)
%ul#buildings
%li click on a site to view buildings for that site
Сайт JavaScript (jquery):
$('ul#site > li a').live('click', function(){
link = $(this).attr('href');
$.get(link, function(data, textStatus){
$('#buildings').empty().append(data)
});
);
Частичное возвращение зданий после отправки запроса $ .get выше:
-@buildings.each do |bldg|
%li= link_to bldg.name, building_controllers_path(bldg)
Надеюсь, это поможет!