我在create.js.rjs文件中使用了以下行。我只是从互联网上复制并且工作得很好。
page.select("#notice").each { |notice| notice.hide }
page.replace_html('cart', render(@cart))
page[:cart].visual_effect :blind_down if @cart.total_items == 1
page[:current_item].visual_effect :highlight,
:startcolor => "#88ff88",
:endcolor => "#114411"
但是现在我需要在 create.js.erb 文件中使用这 2 行代码。.rjs 和 .erb 的语法不一样。那么这两个 linces 的 .erb 文件的代码是什么。
尝试:
# js.erb
$("#notice").hide()
$("#cart").html("<%= j render(@cart) %>")
更新:
在《Agile Web Development with Rails》一书中找到了这段代码:
js.rjs
page[:cart].visual_effect :blind_down if @cart.total_items == 1
page[:current_item].visual_effect :highlight,
:startcolor => "#88ff88",
:endcolor => "#114411"
等效js.erb
$('#current_item').css({'background-color':'#88ff88'}).
animate({'background-color':'#114411'}, 1000);
我有点感觉你遵循的代码在链接的书中得到了非常详细的讨论,所以我建议看看这本书。