如何在 rails 中将 .js.rjs 的内容转换为 .js.erb



我在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);

我有点感觉你遵循的代码在链接的书中得到了非常详细的讨论,所以我建议看看这本书。

相关内容

  • 没有找到相关文章

最新更新