2012-02-06 153 views
0

我的文章可以出現在幾個網站上,以及具有標題,正文等的文章模型以及具有site_id,site_name等的網站模型,我有一個article_site_permission模型,其中article_id,site_id和visible可以是對或錯。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。我可以顯示相反的顯示按鈕。

現在我想通過將:remote => true添加到按鈕鏈接來刷新具有按鈕的div。但我在哪裏放我的JavaScript?

它是否在article_site_permission視圖中 - 即使我正在查看文章本身的視圖? 它是否叫做update.js.erb?

感謝您的幫助。


更新爲了清晰。

我的按鈕位於文章/編輯頁面上。該按鈕更新article_site_permissions。我想回到文章/編輯並刷新其中包含按鈕的div。

我必須編輯article_site_permissions的更新控制器,但是我在哪裏可以讓js刷新div?

+0

我已經更新了我的答案,它應該解釋你需要知道的一切。如果事情不清楚,讓我知道。 – varatis 2012-02-06 16:05:12

+0

再次更新。我所放的應該是工作 – varatis 2012-02-06 16:47:36

回答

2

在您的控制器中,重定向到您想要的操作(索引,顯示等)。做一個

在你的控制器的行動。然後,在相應的視圖,有一個文件名爲

index.js.erb 

或者與任何動作代替指標,只是一定給它相同的名稱調用它的動作。

編輯

我還要提到你在添加遠程忠於你的按鈕正確的。很難從你的問題中知道你試圖在哪個控制器中實現什麼動作。如果您嘗試訪問ArticleSitePermission控制器的show操作,那麼您表現不錯。但是,看起來你並沒有試圖路由顯示。 Check out this link for more info on routing to different actions.

EDIT 2

這應該這樣做。

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

另外,如果你想要做的是重定向到的文章,你不需要做JS。只是重定向到文章#顯示

+0

我想將數據發送到ArticleSitePermission控制器,但刷新文章視圖 - 這就是我不清楚的!對不起,我的問題不清楚。我已經更新了這個問題。 – Edward 2012-02-06 16:41:33

+0

當然可以 - 我只是在控制器中重定向(:後退)以回到我來自的地方。 – Edward 2012-02-09 17:23:23