如何访问Javascript代码中的rails变量
How to access rails variables within Javascript code?
我使用的是Rails 3.0.5
我有一个使用jQuery下拉清单的javascript代码,当在我的物品控制器的"编辑"操作中使用我的表单时,我希望复选框显示哪个项目已经被选中,哪个项目没有被选中。
基本上,它可以在Javascript中这样工作:
$('element').val([1,3,4]);
$('element').dropdownchecklist();
让我们说,在我的控制器中,编辑操作,我有一个名为@selected_items的实例变量,它包含所选的项(这里:@selected_items=[1,3,4]),我想在我的Javascript代码中使用这个实例变量的值,我该如何继续?如何在.js文件中访问此实例变量的值?
非常感谢你的回答!
只需在视图中编写javascript,然后在适当的位置将@selected_items
数组打印为json:
app/views/*/*.html.erb
<script>
$('element').val(<%= @selected_items.to_json %>);
$('element').dropdownchecklist();
</script>
如果to_json
无法序列化更复杂的对象,您也可以使用Gon-gem。
是处理此类需求的一种更好、干净/整洁的方法
1。不要在视图中创建javascript,而不是按照rails最佳实践
2。以这种方式处理
在您的app/views/*/*.html.erb
让实例变量(@selected_items)将其分配到助手中的选项中,例如:sel => @selected_items
在您的javascript中
<script>
$('element').attr('sel');
$('element').dropdownchecklist();
</script>
我希望它能有所帮助!
相关文章:
- 如何从rails中的代码中删除新行( )
- Jquery:代码在rails中的页面加载时未执行
- 用于用户内容的简单代码编辑器/文本格式化程序(在Rails中)
- 如何访问Javascript代码中的rails变量
- 在 Ajax Rails 表单提交后,在表单下发布额外的 Javascript 代码 ( ..等)
- 如何在 Rails 应用程序中使用任何 JavaScript 代码
- 将值从javascript传递到rails代码中
- 如何在ruby on rails中保存和发布Webgl中的JS代码结果
- Rails:Javascript中的附加和插入代码
- 混合 Rails 和 JavaScript 代码时的引号问题
- 将 JQuery 或 Javascript(不是 coffee.script)代码添加到 Rails 3.2 应用程序中
- 灯箱不适用于 Rails,即使页面加载文档已准备好在代码中
- 将代码片段插件添加到 Rails 应用程序中的 CKEditor
- 在 Javascript 文件中使用 Ruby/Rails 代码
- Heroku 它的调用 JavaScript 代码不在我的 Ruby on Rails 项目中
- Javascript 多个嵌套 if 语句不适用于 Rails 代码
- Rails 4 是否允许在.JS视图中使用红宝石代码,在 rails 3 中,文件名中需要包含 .erb.js
- 在 Rails 中为桌面和移动访问者提供单独的 js 代码
- Rails 变量在 JavaScript 代码中不起作用
- 在Jquery代码Rails中使用Link_to