2012-02-06 3 views
0

내 기사는 여러 사이트에 표시 될 수 있습니다. 제목, 본문 등이 포함 된 기사 모델, site_id, site_name 등이 포함 된 사이트 모델 등이 있습니다. article_id, site_id 및 visible 중 하나 인 article_site_permission 모델이 있습니다. true 또는 false. 내 문서 편집 페이지에서UJS - js.erb는 어디에 두어야합니까?

, 나는 button_to했던이 작동

<%= button_to 'Hide', article_site_permission_path(:id => @article_site_permission_id, :article_site_permission => {:visible => "false"}), :method => :put %> 

을 - false로 권한을 변경합니다. 그리고 나는 그 반전을하는 Show 버튼을 보여줄 수있다.

이제 버튼 링크에 :remote => true을 추가하여 버튼이있는 div를 새로 고침하고 싶습니다. 하지만 자바 스크립트는 어디에 두어야합니까?

article_site_permission보기에 있습니까? 기사 자체를 보았을 때도 보입니까? update.js.erb라고 부릅니까?

도움 주셔서 감사합니다.


업데이트를 위해.

내 버튼은 기사/편집 페이지에 있습니다. 버튼은 article_site_permissions를 업데이트합니다. 나는 기사로 돌아가고 싶다/편집하고 그것에있는 단추가있는 div를 상쾌하게하십시오.

article_site_permissions에 대한 업데이트 컨트롤러를 편집해야하지만 js에 div를 새로 고치려면 어떻게해야합니까?

+0

나는 내 대답을 업데이트 했으므로 알아야 할 모든 것을 설명해야합니다. 일이 불분명하면 알려주세요. – varatis

+0

다시 업데이트되었습니다. 내가 쓴 것은 작동해야합니다. – varatis

답변

2

컨트롤러에서 원하는 동작 (색인, 표시 등)으로 리디렉션하십시오. 컨트롤러에서 해당 작업에 따라

을 수행하십시오. 그런 다음, 해당보기에서 파일이

index.js.erb 

라는 이름의 한 또는 그냥 부르고 작업과 동일한 이름을 부여해야합니다, 어떤 조치를 인덱스를 교체합니다.

편집

나는 또한 당신이 당신의 버튼에 원격 사실을 추가하는 올바른 언급해야한다. 어떤 컨트롤러에서 어떤 액션에 도달하려고하는지 질문하는 것은 어렵습니다. ArticleSitePermission 컨트롤러의 show 액션에 액세스하려고한다면 잘하고 있습니다. 그러나, 당신이 보여주기 위해 길을 떠나려하지 않는 것처럼 보입니다. Check out this link for more info on routing to different actions.

편집 2

이 그것을해야한다.

<%= link_to 'Click me', {:controller => "article", :action => "update", :id => @article_site_permission_id }, 
     :remote => true %> 

또한 원하는 경우 기사로 리디렉션하려는 경우 js를 수행 할 필요가 없습니다. 그냥 기사로 리디렉션 # show

+0

ArticleSitePermission 컨트롤러에 데이터를 보내고 싶지만 기사보기를 새로 고침하고 싶습니다. 그게 제가 잘 모르는 부분입니다! 죄송합니다. 내 질문이 명확하지 않았습니다. 질문을 업데이트했습니다. – Edward

+0

예 물론입니다. 컨트롤러에서 리다이렉트 (: 백)하여 원래의 상태로 되돌아갑니다. – Edward

관련 문제