문제

현재 단일 사이트 관리자 페이지에서 여러 모델을 관리하고 있습니다. 나는 다음과 같은 관계가 있습니다.

Sites -> Buildings -> Meters -> Values

각 "사이트"항목 옆에 "편집 | 삭제 | 각"건물 옆에 "건물을 추가하기"항목은 "편집 | 삭제 | 삭제 | 미터"항목 옆에 "편집 | 삭제 | 값 추가"가 있습니다. "value"항목 나는 "편집 | 삭제"가 있습니다.

이 시점에서 나는이 페이지를 관리하는 "sitemanagercontroller"라는 프랑켄스테인 컨트롤러가 있습니다. 나는 단순히 다음과 같은 방법 (및 경로 파일에 해당 경로)을 가지고 있습니다.

add_site
add_building_to_site
add_meter_to_building

delete_site
delete_building
delete_meter

그러나 내가 궁금한 점은 기존 항목 컨트롤러 CRUD 메소드를 사용하는 동안 "SiteManager"페이지 및 컨트롤러에 적합한 RJS 파일을 렌더링 할 수있는 품질 메커니즘이 있는지 여부입니다.

Rails가 컨트롤을 리디렉션하는 동안 (시각적으로뿐만 아니라 문맥 상)를 만들거나 "SiteManager"컨트롤러로 되돌아 가거나 Rails를 리디렉션하는 동안 원래 컨트롤러로 경로를 유지할 수 있다면 좋을 것입니다. 삭제. 나는 양식을 다루지 않고 단순히 인덱스 페이지와 여러 "link_to_remote"s입니다.

나는 아마도 잘못된 질문을 할 것입니다. 그래서 그것을 고려하십시오 ... 어쨌든 나는 제안에 열려 있습니다.

최고.

도움이 되었습니까?

해결책

종료 항목 컨트롤러 CRUD 메소드를 절대적으로 사용할 수 있습니다. 당신은 지적 할 수 있습니다 link_to_remote 모든 URL에서 지시하는 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top