从.js.erb文件访问本地视图的变量

时间:2012-02-25 22:31:00

标签: javascript ruby-on-rails-3

我被困住了。我已经阅读了一些关于将javascript放入rails应用程序的最佳实践的博客文章,并查看了“Agile Web Dev With Rails3”圣经 - 仍然无法找到答案。所以这就是我的乞求。

假设我有一个包含以下代码的视图(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应用程序时,选择最佳实践的任何相关链接都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

如果我没错,那就有针对那些东西的截屏视频。你应该在railscasts.com上查看。