javascript - (Ruby、Rails、Javascript)使用 javascript 窗口等管理嵌套模型...?

标签 javascript ruby-on-rails ruby model nested

我目前正在开发一个包含 4 个嵌套模型的 Rails 应用程序(根据 THIS POST )。我考虑过使用 javascript 在一个页面上管理它们。它看起来是可行的(就像 Rails 中的许多事情一样),但是,我们并不强烈推荐它。

也就是说,我希望通过代理页面进行管理。目前模型结构如下:

Sites 'has_many' Buildings 'has_many' Controllers 'has_many' Measurements

我当前的目标是通过 Javascript“窗口”管理项目。例如,“站点”索引页面的每个站点列表旁边都会有“管理建筑物”。单击该链接将显示一个“建筑物”索引页面,其中仅包含该站点的现有建筑物以及添加新建筑物的能力。然后,当然,每个构建页面都会有“管理 Controller ”,依此类推。

考虑到这一点,在我埋头拆解“active_scaffold”等之前,有人对实现这种类型的对象管理有任何建议/建议吗?我的问题主要涉及必要的 Javascript 等,但是,如果您有任何“陷阱”,我当然也希望您知道。

最好。

最佳答案

听起来是一个有趣的界面,只是一个想法...您可能需要考虑将 Controller 或测量放入对话框 View 中,只是为了减少 UI 困惑。这里是:

在您的 route :

map.resources :sites do |site|
  site.resources :buildings do |building|
    building.resources :controllers do |controller|
      controller.resources :measurements
    end
  end
end

您可能需要分解前面的嵌套资源以降低复杂性。

站点 View

(为了简洁而用 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)

希望这有帮助!

关于javascript - (Ruby、Rails、Javascript)使用 javascript 窗口等管理嵌套模型...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/992264/

相关文章:

javascript - 如何将项目插入 Angular $scope.array?

javascript - 如何创建动态加载的页面 URL?

ruby-on-rails - 如何在 Ruby/Rails 的 JSON 对象中创建未定义的值

ruby - 如何编写 ruby​​ 方法来接受和保存 lambda、 block 或 Proc?

ruby - rbenv gem安装路径错误-找不到gem

javascript - 检查数字/值在输入中是否按升序排列(jquery)

javascript - 与 colpan 子项一起获取行?

mysql - 报告销毁后重建索引花费的时间太长

ruby-on-rails - 从 Amazon 服务器读取文件,Ruby on Rails,没有匹配路线

ruby-on-rails - 如何在 Ruby 中使用电子表格 gem 编写超链接?