2011-12-01 24 views
0

這是我應得的如何將控制器和操作參數傳遞給Rails 3中的JavaScript函數?

<a href="#" onclick="image_viewer_on(<%= e.id %>, <%= params[:controller] %>); return false;"> 

但我得到一個「my_controller_name」是未定義的錯誤?

編輯

我試圖

<a href="#" onclick="image_viewer_on(<%= e.id %>, <%= controller_name %>); return false;"> 

<a href="#" onclick="image_viewer_on(<%= e.id %>, '<%= controller_name %>', 'index'); return false;"> 

具有相同的結果,並

<a href="#" onclick="image_viewer_on(<%= e.id %>, <%= controller_name.to_i %>); return false;"> 

至極workes,我可以分析它以某種方式,或者你有什麼感想?


好了,所以這是我如何固定它,我添加了一些引號將<%= controller_name %>

<a href="#" onclick="image_viewer_on(<%= e.id %>, '<%= controller_name %>', 'index'); return false;"> 
+0

您是否嘗試過使用'controller_name'變量?這個和'action_name'都內置在每個視圖中。添加這個作爲評論,因爲我不能明確地看到你的代碼有什麼問題。 – jaydel

回答

1

這裏,您CA看到在視圖中獲得控制器名稱的討論: http://www.ruby-forum.com/topic/140912

params[:controller] 

controller.controller_name 

你沒有指定是否你的錯誤發生在JavaScript或紅寶石。我的猜測是在JavaScript中,它是由於你沒有用引號括起控制器名稱,而javascript認爲它是一個具有該名稱的變量。

+0

請確保您將代碼直接放入您的StackOverflow答案中(因爲該鏈接總是可以被拉下來) – iwasrobbed

相關問題