2012-02-25 48 views
0

我卡住了。我已經閱讀了一些關於將javascript放入rails應用程序的最佳實踐的博客文章,並且在「Agile Web Dev With Rails3」聖經中看過 - 仍然無法找到答案。所以我要求它。從.js.erb文件訪問本地視圖的變量

說我有其包含以下代碼的圖(test.erb):

<%@full_stack.each {|trial|%> 
... 
<%= button_to "test ajax", {:action => "test", :controller => "verbs", :id => @verb.id}, remote: true, :class => "check"%> 
<% } %> 

@full_stack是相應控制器的一個實例變量。現在,我想將這個trial的東西拿到我的javascript中:我想比較用戶輸入到位於trial變量中的字符串(比較即將在客戶端進行)。

此方法不起作用。將alert("<%= trial.class %>")放入test.js.erb會導致通知nil:javascript部分無法訪問該變量。那麼,是否有可能訪問我在javascript中創建的局部變量?我在這裏看到了一些類似的問題,但沒有一個是完全解釋性的。

我不會驚訝地聽到我的方法是完全錯誤的,我不應該在視圖中創建額外的變量,並且這種比較應該在服務器端而不是客戶端執行。我是編程新手,所以在前面採取正確的方法變得困難。在使用RoR構建Web應用程序時,選擇最佳做法的任何相關鏈接都將有所幫助。謝謝!

回答

0

如果我沒有錯,那裏有一個截屏視頻。你應該在railscasts.com上看看它。