jquery - 如何让相同的 javascript 代码响应多个 ajax 调用?

标签 jquery ruby-on-rails ruby ajax

我想让两个 Action 用一个 javascript 模板 publication.js.erb 响应,而不是为每个 Action 使用一个 file.js.erb。

##AJAX CALLBACKS##


def publish
    @myth = Myth.find(params[:id])
    if @myth.update_attributes(:status=>2)
      #change status to publish
      @msg  = "Your Myth has been Published"
      @type = "alert-success"
    else
      @msg  = "Your Myth has not been Published"
      @type = "error-success"
    end

    respond_to do |format|
      format.html { redirect_to root_path }
      format.js
    end
  end

  def unpublish
    @myth = Myth.find(params[:id])
    if @myth.update_attributes(:status=>0)
      #change status to publish
      @msg  = "Your Myth has been Unpublished"
      @type = "alert-success"
    else
      @msg  = "Your Myth has not been Unpublished"
      @type = "error-success"
    end

    respond_to do |format|
      format.html { redirect_to root_path }
      format.js
    end
  end

最佳答案

在每个 respond_to block 中,只需执行以下操作:

format.js { render 'publication' }

这将使两个操作呈现相同的模板文件。

关于jquery - 如何让相同的 javascript 代码响应多个 ajax 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15750736/

相关文章:

javascript - jQuery 更改与 jQuery 生成的 HTML 的绑定(bind)

javascript - 我尝试使用 photoswipe.com js 制作画廊 View ,当我插入动态 div 时它失去了功能

javascript - 使用方法 : :delete 在 RAILS 中删除

ruby-on-rails - 将用户数据发送到远程网络服务器时法拉第超时错误 ReadTimeout

ruby-on-rails - Rails 加载模块链时遇到问题

javascript - 附加 jquery 不起作用

javascript - 输入选择的 jquery 历史记录(简单)

ruby-on-rails - CanCan - 拒绝访问 - 在日志中指定 CanCan 的方法 为什么?

ruby-on-rails - 删除链接停止工作数据方法 ='delete' 但转到显示页面

ruby - 如何在 gemspec 中指定最低 Ruby 版本?