【问题标题】:how to manually include remotipart js?如何手动包含remotipart js?
【发布时间】:2020-09-16 22:14:24
【问题描述】:

我需要有条件地使用 remotipart gem。 [docs][1] 说只需将其添加到 application.js:

//= require jquery.remotipart

但我不希望它包含在每个视图中,而是我想有条件地包含它,但是当我尝试时:

<%= javascript_include_tag "jquery.remotipart" %>

我得到一个错误。我如何一般引用作为 gem 一部分包含的 js,具体如何引用 remotipart js?

谢谢, 凯文

【问题讨论】:

  • “但我不希望它包含在每个视图中,而是我想有条件地包含它”。如果您使用的是 turbolinks,那只是一个坏主意,因为它会在许多页面加载时创建一个持久的浏览器会话。如果您将 Rails 6 与 webpacker 一起使用,则 Gemified assets 也是一个过时的概念。改用 yarn 包,放弃在不同页面上运行不同 js 的想法。

标签: ruby-on-rails remotipart


【解决方案1】:

但我不希望它包含在每个视图中,而是我想有条件地包含它,但是当我尝试时:

在这种情况下有条件地意味着什么?最简单的方法是

<%= javascript_include_tag "jquery.remotipart" if condition %>

您也可以像这样在要包含它的视图上使用content_for

# in your view
<% content_for :js do %>
  <%= javascript_include_tag "jquery.remotipart" %>
<% end %>

# in your layout.html.erb
<%= yield :script %>

https://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

如果您的意思是您收到无法找到 JS 文件的错误,请使用您使用的库(webpacker、sprockets)和 Rails 版本更新您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 2015-10-22
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    相关资源
    最近更新 更多