Rails的4.0/2.0的Rubyurl_for與應用控制器動作
我想轉換爲Rails 4.在佈局文件一個Rails 2個應用,我有一個腳本來調用應用程序控制器的動作(以重新加載會話變量),然後在單擊佈局中的刷新按鈕時刷新頁面。
我無法找出如何引用任何行動應用控制器:
<%= url_for(:action => 'refresh_users', :controller => 'application') %>
我已經試過「url_for」一些不同的方法,包括不指定控制器。
對於每一個我已經試過了,我總是得到一個無路由錯誤(「沒有路由匹配{:動作=>」 refresh_users「:控制器=>‘應用程序’}」)
上午什麼我在這裏做錯了嗎?
<script type="text/javascript">
var refresh_user_session = function() {
$.get(
"<%= url_for(:action => 'refresh_users', :controller => 'application') %>",
function(data){
alert('You access rights have been re-loaded, the page will now re-load.');
location.reload();
}
);
return false
}
</script>
謝謝!
通常應用程序控制器不用於路由!你如何在你的routes.rb中做到這一點? – phoet
?這不是路由,它只是在應用程序控制器中調用一個不顯示任何內容的動作。 url_for只是在那裏寫出JavaScript的使用行爲的路徑。如果該操作代碼不在應用程序控制器中,則它必須存在於應用程序中的每個控制器中。在Rails 2.x中它只是一直工作。 – Reno
如果你不通過路線暴露它,怎麼會打電話給它? – phoet