我创建了一个模式,允许用户创建新记录(在本例中为' 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时。我不确定这是否真的可行,或者我是否只是缺少一些小东西。
答案 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
的简写。