1

私は現在、4つのネストされたモデルを持つRailsアプリを開発しています( THIS POSTに従って)。JavaScript を使用して、それらすべてを 1 つのページで管理することを検討しました。これは (Rails で多くのことができるように) 実行可能に見えますが、強く推奨されるものではありません。

とはいえ、プロキシページ経由で管理しようとしています。現在、モデル構造は次のとおりです。

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

私の現在の目標は、Javascript の「ウィンドウ」を介してアイテムを管理することです。たとえば、「サイト」インデックス ページには、各サイト リストの横に「建物の管理」があります。リンクをクリックすると、そのサイトの既存の建物のみを含む「建物」のインデックス ページが表示され、新しい建物を追加することもできます。次に、もちろん、各建物ページには「コントローラーの管理」などがあります。

それを念頭に置いて、「active_scaffold」などを引き裂く前に、このタイプのオブジェクト管理を実装するための推奨事項/提案はありますか? 私の質問は主に、必要な Javascript などに関するものですが、何か「落とし穴」がある場合は、ぜひお知らせください。

一番。

4

1 に答える 1

1

興味深いインターフェースのように聞こえますが、考えてみてください... UIの煩雑さを軽減するために、コントローラーまたは測定値をダイアログボックスビューにすることを検討することをお勧めします。ここに行きます:

あなたのルートで:

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)

お役に立てれば!

于 2009-08-21T03:59:32.213 に答える