2012-02-25 43 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上看看它。