如何在rails中为x-editable添加数据源属性

时间:2014-05-30 01:15:31

标签: ruby-on-rails ruby-on-rails-4 x-editable

如何在rails中为x-editable接受的源数据属性提供动态哈希?

  <a href="#" data-xeditable="true" data-type="select" data-pk="<%= g.id %>" data-model="graded_item" data-name="teacher_grade_id" data-url="<%= graded_item_url(g) %>" data-source="<%= g.gradescale.grade_scale_items.map{ |x| "{x.id, x.grade}" } %>" data-title="Edit Grade">

      <%= g.teacher_grade.try(:grade) %> - <%= g.teacher_grade.try(:name) %>
  </a>

文档需要像{ value: id, text: name }这样的哈希,但我似乎无法获得不会导致红色非活动选择菜单的哈希值(x-editable不喜欢源代码)。

任何人都有一个动态数据源示例,可以在rails中进行x-editable?

每篇文档

如果是数组 - 它的格式应为:[{value: 1, text: "text1"}, {value: 2, text: "text2"}, ...]

为了兼容性,还支持对象格式:{"1": "text1", "2": "text2" ...}但它不保证元素顺序。

更新

这创建了一个实例变量,它是一个哈希数组,其格式与docs所说的数组数据源所需的格式完全相同。但是,这也会导致可编辑弹出窗口中的空选择错误。

  @grade_scale_items = []
  @course.gradescale.grade_scale_items.each do |x| 
      @grade_scale_items << {value: x.id, text: "#{x.grade} - #{x.name}"}
  end

1 个答案:

答案 0 :(得分:2)

非常简单的修复......挖了一下之后。文档对此没有实际帮助,rails示例仅使用文本字段(没有选择菜单)。将哈希数组转换为json ...就像这样。

  @grade_scale_items = []
  @course.gradescale.grade_scale_items.each do |x| 
     @grade_scale_items << {value: x.id, text: "#{x.grade} - #{x.name}"}
  end

  view: data-source="<%= @grade_scale_items.to_json %>"

这使得它采用x-editable作为数据源

的格式