将show / edit / destroy链接附加到rails中的表 - 使用coffeescript

时间:2014-05-28 15:14:36

标签: ruby-on-rails ruby coffeescript html-table

我创建了一个模式,允许用户创建新记录(在本例中为' Area'),而无需刷新页面。这是一个添加了bootstrap模式的基本脚手架。

我还想用新区域更新表格内容。 (隐藏模态后。)我正在使用此代码执行此操作。

$ ()->
  $("form.new_area").on "ajax:success", (event, area, status, xhr) ->
    $('#new-area-modal').modal('hide')
    $('table tbody').append('<tr><td>' + area.area_name + '</td><td>' + area.area_number + '</td><td>' + area.area_description + '</td></tr>')

这很有效。但是,我无法弄清楚如何将show / edit / destoy链接附加到表格。

我试图插入link_to 'Show', area,但我没有成功。

$ ()->
  $("form.new_area").on "ajax:success", (event, area, status, xhr) ->
    $('#new-area-modal').modal('hide')
    $('table tbody').append('<tr><td>' + area.area_name + '</td><td>' + area.area_number + '</td><td>' + area.area_description + '</td><td>' + link_to 'Show', area + '</td></tr>')

我是rails的新手,特别是在使用Javascript + Rails时。我不确定这是否真的可行,或者我是否只是缺少一些小东西。

2 个答案:

答案 0 :(得分:0)

确保您正在编辑正确的文件。 Rails可能很复杂,尤其是当您第一次启动时,因为它生成的文件太多了。您要修改的文件应位于应用&gt; views&gt; area&gt; index.html.erb

从那里你想要一些看起来像

的lins

          &lt;%= link_to&#39;显示&#39;,产品%&gt;
          &lt;%= link_to&#39;编辑&#39;,edit_product_path(产品)%&gt;

          &lt;%= link_to&#39;销毁&#39;,产品,方法::删除,数据:{确认:&#39;您确定吗?&#39;}    

答案 1 :(得分:0)

您可以在cofeescript中使用ruby代码:

使用ERB:

$ ()->
  $("form.new_area").on "ajax:success", (event, area, status, xhr) ->
    $('#new-area-modal').modal('hide')
    link_tag = "<%=j link_to('Show', area) %>"
    $('table tbody').append('<tr><td>' + area.area_name + '</td><td>' + area.area_number + '</td><td>' + area.area_description + '</td><td>' + link_tag + '</td></tr>')

如果使用HAML:

link_tag = "#{j link_to('Show', area)}"

此处使用的j方法<%=j link_to('Show', area) %>escape_javascript的简写。