Rails-将信息从视图传递到Javascript
Rails- Pass information from view to Javascript
我想开始使用websockets。我读了所有的文档和理解一切,但它遗漏了我需要的东西:如何从视图传递信息到JS?
我需要从javascript传递数据到我的控制器。我不明白的是,我如何获得动态生成的数据在我的视图javascript发送?
现在我的视图在每个HTTP请求上接收一个实例变量,它循环遍历每个实例变量并创建一个按钮,该按钮提交一个包含从该实例变量提取的信息的哈希。我不明白如何用Javascript做同样的事情,因为Javascript不理解Ruby类。
这是我的代码现在的样子:视图/仪表板/_other_characters.html.erb
<% other_characters.each do |other_character| %>
<p><%= other_character.name %> is standing here (<%= other_character.power_level %>)</p>
<%= button_to "punch #{other_character.name}",
attacks_path(
target_type: other_character.class,
attack_type: :punch,
target_id: other_character,
target_name: other_character.name
) %>
<% end %>
这是我希望能够做的使用JS
var task = {
name: 'Start taking advantage of WebSockets',
completed: false
}
var dispatcher = new WebSocketRails('localhost:3000/websocket');
dispatcher.trigger('tasks.create', task);
Try
<%= button_to "punch #{other_character.name}",
attacks_path(
target_type: other_character.class,
attack_type: :punch,
target_id: other_character,
target_name: other_character.name
), {id: '***', data: {name: '***', other_key: 'other_value'} } %>
然后你可以通过jQuery数据api访问数据。
当你需要通过客户端js从视图中获取动态数据时,在你的视图dom中添加data-attrs,然后从dom API或其他第三方js API读取。
为了将信息从ruby传递到javascript,你可以使用这个gem: Gon,基本上它可以转换ruby变量,并使它们在每个视图上都可以被javascript使用,看看:http://railscasts.com/episodes/324-passing-data-to-javascript如需其他选择,请访问:https://www.ruby-toolbox.com/categories/javascript_tools#paloma
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何包含特定于每个视图angularjs的javascript文件
- 如何在Ionic Android中将Javascript注入到web视图中
- 如何在MVC5中ajax调用的部分视图中引用外部javascript
- 在CodeIgniter视图中将Javascript或jQuery代码作为PHP文件编写可以吗
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- 树视图javascript的反向级别
- node.js/javascript/couchdb视图到关联数组似乎不起作用
- 将c#视图模型转换为javascript模型时转义HTML标记
- 如何访问Web2py'中python代码中的JavaScript变量;s视图
- MVC Razor 从 javascript 视图中的控制器获取值
- 使用CakePHP生成Javascript视图块
- 在 Rails 中测试 JavaScript 视图
- 在Couchbase JavaScript视图中是否有可能的全局变量
- Couchbase Java API和javascript视图未返回特定密钥的值
- 主干javascript视图未重新呈现
- 在可嵌入javascript视图中使用mislav_will_paginate
- 将CouchDB javascript视图转换为erlang
- Javascript视图HTML切换
- 如何使用 JavaScript 视图和控制器创建弹出窗口,没有 html