javascript - 解析 index.html.erb 文件中脚本标签内的 ruby​​ 散列

标签 javascript ruby-on-rails ruby

我将如何解析 <script> 中的 ruby​​ 散列?在我的标签 index.html.erb文件?

Controller :

@full_calendar_options = { theme: true, header: { left: 'month,agendaWeek,agendaDay', center: 'title', right: 'prev,next' }, defaultView: 'agendaWeek', buttonIcons: { prev: 'calendar-left-arrow', next: 'calendar-right-arrow' } }

在 index.html.erb 中,这会产生 javascript 语法错误:

<script>
var options =  <%= @full_calendar_options %>;

因为它会产生:

 var options =  {:theme=&gt;true, :header=&gt;{:left=&gt;&quot;month,agendaWeek,agendaDay&quot;, :center=&gt;&quot;title&quot;, :right=&gt;&quot;prev,next&quot;} ...

当我用字符串包裹 ruby​​ 捕获时,我没有收到任何错误:

var options =  '<%= @full_calendar_options %>';

但它产生:

var options =  '{:theme=&gt;true, :header=&gt;{:left=&gt;&quot;month,agendaWeek,agendaDay&quot;, :center=&gt;&quot;title&quot;, :right=&gt;&quot;prev,next&quot;}, ...

这是一个编码字符串。它不是 JSON,所以我无法将它解析为对象文字。我正在尝试获取 JavaScript 中的对象文字。实现这一目标的最佳方法是什么?

最佳答案

<script>
var options =  <%= raw @full_calendar_options.to_json %>;

关于javascript - 解析 index.html.erb 文件中脚本标签内的 ruby​​ 散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380659/

相关文章:

javascript - CSS动画宽度从右到左,高度从下到上

javascript - Ruby on Rails 使用 OR 查找

ruby - 具有双高清和 "space in name"错误的 RVM

ruby-on-rails - rails : correct redirect but incorrect URL in address bar after creating into DB

Ruby/Buildr——获取用户名、主机名和操作系统名

javascript - 如何从 Bootstrap 导航栏中删除默认填充

javascript - 如何在 python 应用程序中高效地提供 JS 和 CSS

javascript - 在 Rails 服务器端运行 javascript

ruby-on-rails - Bootstrap按钮组和form_for

ruby-on-rails - 在 Linux Mint 中开始使用 Ruby on Rails