我将如何解析 <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=>true, :header=>{:left=>"month,agendaWeek,agendaDay", :center=>"title", :right=>"prev,next"} ...
当我用字符串包裹 ruby 捕获时,我没有收到任何错误:
var options = '<%= @full_calendar_options %>';
但它产生:
var options = '{:theme=>true, :header=>{:left=>"month,agendaWeek,agendaDay", :center=>"title", :right=>"prev,next"}, ...
这是一个编码字符串。它不是 JSON,所以我无法将它解析为对象文字。我正在尝试获取 JavaScript 中的对象文字。实现这一目标的最佳方法是什么?
最佳答案
<script>
var options = <%= raw @full_calendar_options.to_json %>;
关于javascript - 解析 index.html.erb 文件中脚本标签内的 ruby 散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380659/