remote-true链接会禁用/破坏正常的javascript行为吗?

时间:2015-05-03 23:35:28

标签: javascript ruby-on-rails

remote-true链接会禁用正常的javascript代码吗?

我页面上的每个产品都有远程true(ajax)链接

该链接将触发另一个控制器的方法

  def add_item
    product = Product.find_by_id(params["product_id"].to_i)
    @cart.add(product, product.price    )
  end

我还想在点击链接

时显示模态(弹出窗口)

但它在我的Rails上不起作用。

我认为 remote = true 打破了javascript工作流程,对吗?

点击链接后如何启用 js remodal 弹出窗口?

如果我想触发正常的javascript调用并同时调用remote=true流,那么更好的做法是什么?

application.html.haml

  :javascript
    window.remodalGlobals = {
        namespace: "modal",
        defaults: {
            hashTracking: false
        }
    };  
  %script{:src => asset_path("remodal/jquery.remodal.js", :type => "text/javascript")}    
  #buy_items.modal{"data-remodal-id" => "contact-modal-success"}
    %h1 hihi

product.html.haml

    = link_to add_item_carts_path(product.id), remote: :true, :class=>"add_to_cart","data-remodal-target" => "contact-modal-success" do

更新:警报窗口未显示,但控制台日志确实有效

product.js.coffee

$(document).ready ->
  $(".add_to_cart").click ->
    alert "hi"
    console.log "test"
    return 

1 个答案:

答案 0 :(得分:0)

我认为您可以先使用JavaScript属性隐藏HTML标记,然后在不使用remote: true

的情况下设置显示效果的动画
respond_to do |format|
  format.js { something_to_do }
end
远程调用js文件可能需要