当前位置: 首页 > 知识库问答 >
问题:

Ruby On Rails中的条件AJAX

仲璞瑜
2023-03-14

我希望根据用户的位置/页面触发一个AJAX操作。我构建了以下内容:

if (window.location.href.indexOf('users/stream') >= 0) {
  alert("Condition 1 is met")
  $('#invite_to_video').html("<%= j render partial: 'messages/contact_ir_video', :locals => {:message => Message.new}  %>");
} else {
  alert("Condition 2 is met")
  $("#comments").html("<%= j render partial: '@message.comments' %>");
}

当我使用alert简单地尝试if条件时,它工作良好,并且显示条件1满足

但是,当我添加部分加载指令时,我会得到以下信息:

ActionView::Template::Error(缺少部分消息/@message.comments,Application/@message.comments,{:locale=>[:en],:formats=>[:js,:html],:variants=>[],:handlers=>[:raw,:erb,:html,:builder,:ruby,:slim,:coffee,:jbuilder]}。在:...

但是,应该只有条件1才会触发。

执行这种条件jQuery的最佳方法是什么?

共有1个答案

张啸
2023-03-14

我找到了一个解决方案,我删除了user/stream中的斜杠:

if(window.location.href.indexOf('stream') >= 0){
    alert("Condition 1 is met")
    $('#invite_to_video').html("<%= j render partial: 'messages/contact_ir_video', :locals => {:message => Message.new}  %>");
}

if(window.location.href.indexOf('stream') = 0) {
    alert("Condition 2 is met")
    $('#invite_to_video').html("<%= j render partial: 'messages/contact_ir_video', :locals => {:message => Message.new}  %>");
}
 类似资料:
  • 想下载S3签名视频文件…但不是下载它将要播放。。。 使用send_dataS3下载 视频文件=”https://s3-eu-west-1.amazonaws.com/tokboxhub.mangoapps.com/46250362/2e1ad9d5-8240-41d2-82bc-38c34bf92e7e/archive.mp4?X-Amz算法=AWS4-HMAC-SHA256

  • 我得到了这个错误,我知道它的意思 DL已弃用,请使用Fiddle DL已被弃用,请使用Fiddle获取源索引从 rubygems.org/由于错误(2/3)而重试源获取: Bundler::Fetcher::CertificateFailureER ror无法验证<--的SSL 证书plhd--3/>您可能遇到中间人攻击,但最有可能的是您的系统没有验证所需的CA证书。有关 OpenSSL证书的信息

  • 我从来没有用过红宝石,我想我应该试一试。安装似乎进行得很顺利(我想)。在我使用创建服务器后,麻烦就开始了,然后去设置路由,这样新项目就会出现,而不是红宝石欢迎屏幕。它产生的误差是 未初始化常量欢迎控制器 我在route controller中设置了路径,如下所示 我漏了一步吗?我正在使用installrails的说明在Windows7上安装rails。通用域名格式 这是请求的完整跟踪

  • 问题内容: 相等的: 左联接: 相等的: 正确加入 相等的: 当我们在“ WHERE”子句中指定联接条件与“ ON联接条件”时有什么区别? 通过在“ ON”子句和“ WHERE”子句中指定联接条件,我们在内部,左外部,右外部联接中是否获得相同的结果。请指教。 问题答案: 好吧,您所谓的“等效”并不等同于外部联接。让我们以左联接为例。 加入条件: 与哪里: 将条件放到WHERE子句中可以有效地使联接

  • 问题内容: 我有两个这样的表,两个都是单独的表 另一个表包含以下结构 我需要从表II中选择AccountNo或TempAccountNo,Mycolumn,条件是 我需要选择 我需要选择 我该如何实现。 问题答案:

  • 问题内容: 是否可以根据构建的值在Dockerfile中有条件地设置变量? 例如:类似 更新:基于Mario的答案的当前用法: 但是,先运行然后进入主机,我仍然可以 问题答案: 是的,可以,但是您需要使用build参数作为标志。您可以使用Shell的参数扩展功能来检查条件。这是概念验证的Docker文件: 测试版本: