新手问题 ruby js 变量值怎么传给 ruby 变量

xiaoxiao · 2013年08月28日 · 最后由 xiaoxiao 回复于 2013年08月29日 · 4189 次阅读

我在 html.js.erb 中有一个变量值 var s=10 现在我想把这个值赋给 ruby 的变量 m,如果直接写 <% m=s %>的话就会提示 s 不存在。 这怎么办将值传给 ruby 的变量。 比如这样的情况 var count=10 <% (1..count).each do |s| %> { boxLabel: <%= s %>, name: 'rb', inputValue: <%= s %>},

<% end %>

前端的东西往后端传 你需要发送一个 http 请求。。

你只能发送一个 HTTP 请求,用 ajax,这么写的话说明你可能不明白这之间的原理

匿名 #3 2013年08月29日

既然只是为了 Views 页面显示,直接用javascript语法不就得了

匿名 #4 2013年08月29日

害苦了这些连 HTTP 协议、B/S 基本模型都没搞清楚的小白。经常看到这类问题了:

  1. 怎么将 JS 中的值传给 JAVA 中的变量
  2. 怎么将JS中的值传给C#中的变量
  3. 怎么将 JS 中的值传给 PHP 中的变量
  4. 怎么将 JS 中的值传给 Ruby 中的变量
  5. 怎么将 JS 中的值传给______(此处自行填空,换上任意一种 Server Side 语言都不违和)中的变量

框架这些也害人不浅啊

#1 楼 @iBachue 这个是 js.erb,是 js 模板。他的问题出现在渲染阶段,这是在后端处理的

不管是 html.erb 还是 js.erb, 最后都是渲染成 raw html/js,是没有 ruby 代码的,倒是可以把 ruby 变量传给 js 变量

貌似能理解这种想法,比如在这个 js.erb 中,通过 JS 得到页面里的某个值,然后再对它进行遍历之类的操作。 没试过可不可以这样做,随便找了一下,也没找到方法。为什么不用 JS 去遍历,然后在里面访问 Controller 传来的变量?

谢谢大家的指导

需要 登录 后方可回复, 如果你还没有账号请 注册新账号