如何在Javascript代码中访问rails变量?

cit*_*raL 4 javascript jquery ruby-on-rails

我正在使用Rails 3.0.5

我有一个使用jQuery下拉清单的javascript代码,我希望在我的财物控制器的"编辑"操作中使用我的表单时,复选框显示已经检查了哪个项目,哪个不是.

基本上,它可以在Javascript中这样工作:

$('element').val([1,3,4]);
$('element').dropdownchecklist();
Run Code Online (Sandbox Code Playgroud)

让我们说在我的控制器中编辑动作,我有一个名为@selected_items的实例变量,其中包含所选的项目(这里:@selected_items = [1,3,4]),我想使用这个值实例变量到我的Javascript代码中,我该怎么办?我怎么能在.js文件中访问这个实例变量的值?

非常感谢您的回答!

ron*_*chn 8

只需在视图中编写javascript,并在适当的位置将@selected_items数组打印为json:

app/views/*/*.html.erb

<script>
  $('element').val(<%= @selected_items.to_json %>);
  $('element').dropdownchecklist();
</script>
Run Code Online (Sandbox Code Playgroud)

如果无法序列化更复杂的对象,也可以使用Gon gem to_json.