2

我有我的控制器

def grafico_gantt 
    mapa = Hash.new
    mapa[:tasks] = [] 
    @projeto.atividades.each do |a|
        mapa[:tasks] << {
           id:a.id,
           descricao:a.descricao,
           status:a.status,
           data_inicial:a.data_inicial,
           tempo_gasto:a.tempo_gasto.to_i,
           data_final:a.data_final
        }
    end
end

还有我的存档 .js.erb

<script>
 $(function() {
      var today = moment();
      var andTwoHours = moment().add("hours",2);
      var today_friendly = "/Date(" + today.valueOf() + ")/";
      var next_friendly = "/Date(" + andTwoHours.valueOf() + ")/";
      var maxDate = moment().add("days",10).toDate();

      $(".gantt").gantt({
        source: [{
            name: <%= raw @mapa[:descricao] %>,
            values: [{
                from: today_friendly,
                to: next_friendly,
                label:"Teste", 
                customClass: "ganttRed"
            }]

                }],

          });

    });

</script>

如何制作代号:<%= raw @mapa[:descricao] %>,接收控制器值mapa[:descricao] = a.descricao

我只是在变量名中显示值,替换<%= raw @mapa[:descricao] %>

明白了吗?谢谢!!

4

2 回答 2

2

试试这个

首先将 mapa 转换为实例变量(@mapa)

然后相应地更新 js.erb 文件,如下所示。

<script>
 $(function() {
      var today = moment();
      var andTwoHours = moment().add("hours",2);
      var today_friendly = "/Date(" + today.valueOf() + ")/";
      var next_friendly = "/Date(" + andTwoHours.valueOf() + ")/";
      var maxDate = moment().add("days",10).toDate();

      $(".gantt").gantt({
        source: [{
            name: '<%= raw @mapa[:tasks][0][:descricao] %>',
            values: [{
                from: today_friendly,
                to: next_friendly,
                label:"Teste", 
                customClass: "ganttRed"
            }]

                }],

          });

    });

</script>
于 2013-07-29T17:10:39.283 回答
0
  1. 在您的控制器上:
def grafico_gantt 
    @mapa = Hash.new
    mapa[:tasks] = [] 
    @projeto.atividades.each do |a|
        mapa[:tasks] << {
           id:a.id,
           descricao:a.descricao,
           status:a.status,
           data_inicial:a.data_inicial,
           tempo_gasto:a.tempo_gasto.to_i,
           data_final:a.data_final
        }
    end
    respond_to do |format|
      format.js
    end
end

在你看来:

<%= @mapa[:task].first[:descricao] %>
于 2013-07-29T17:04:08.797 回答