刺激控制器在 Rails 7 应用程序中根本无法运行

2024-01-08

我真的很难让 Stimulus 控制器在我正在开发的 Rails 7 应用程序中运行,并且非常感谢任何人可能提供的帮助。我一直在旋转我的轮子。

我的应用程序.js

// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
import "@hotwired/turbo-rails";
import "controllers";
import 'bootstrap';

我将刺激固定在 importmap.rb 中,如下所示:

pin "application", preload: true
pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true
pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
pin "jquery", to: "https://cdn.jsdelivr.net/npm/[email protected] /cdn-cgi/l/email-protection/dist/jquery.js"
pin_all_from "app/javascript/controllers", under: "controllers"

我还没有触及 javascript/controllers/application.js 或 index.js 文件。

我的刺激控制器(ingredients-controller.js):

import { Controller } from '@hotwired/stimulus';

export default class extends Controller {

  connect () {
    console.log('HELLOOO!!!!');
  }
  addIngredients(event) {
    event.preventDefault();
    alert('test');
  }
}

连接的<div>在我看来下面。我现在所做的就是得到<button>元素来 PreventDefault() 并执行测试警报。我无法从上面的刺激控制器得到任何响应。

<div data-controller="ingredients">
  <turbo-frame id=<%= f.field_id(:ingredents) %>>
    <h2>Add Ingredients</h2>

    <%# Selection section %>
    <div>
      <h6>Spirits</h6>
      <%= f.collection_select :spirit_id, Spirit.all, :id, :spirit_type, {}, { :size => "5", :multiple => true } %>

      <h6>Mixers</h6>

      <%= f.collection_select :mixer_id, Mixer.all, :id, :mixer_type, {}, { :size => "5", :multiple => true } %>

      <h6>Garnishes</h6>

      <%= f.collection_select :garnish_id, Garnish.all, :id, :garnish_type, {}, { :size => "5", :multiple => true } %>
    </div>

    <%# Selected Ingredients %>
  </turbo-frame>

  <button data-action="click->ingredients#addIngredients">Add Ingredients</button>
</div>

如果有人知道我在这里缺少什么,我将不胜感激!谢谢你!


我有一个类似的问题(尽管使用 JS 捆绑器),我通过手动安装 Stimulus 解决了它。您可以在此处找到说明:https://github.com/hotwired/stimulus-rails https://github.com/hotwired/stimulus-rails

您可能需要先运行rails assets:clobber反编译所有已编译的资源 完成 Stimulus 的手动安装后,也许您应该运行yarn build --watch在另一个终端选项卡中(与运行 Rails 的方式相同)

那么步骤:

  1. run rails assets:clobber

  2. Add the stimulus-railsgem 到您的 Gemfile:gem 'stimulus-rails'

  3. Run ./bin/bundle install

  4. 按照手动安装说明进行操作(在“使用导入地图”子标题下)https://github.com/hotwired/stimulus-rails https://github.com/hotwired/stimulus-rails.

  5. Run yarn build --watch在附加选项卡中

  6. 测试您的刺激控制器

希望能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

刺激控制器在 Rails 7 应用程序中根本无法运行 的相关文章

随机推荐

  • gem 已安装,但“rails”命令不起作用

    当我运行任何 Rails 命令时 例如rails s我收到以下错误 在任何来源中均找不到 diff lcs 1 1 2 尝试跑步bundle install 不过 我已经安装了 diff lcs 捆绑显示 diff lcs opt loca
  • 为什么使用 SpringJUnit4ClassRunner/MySQL/Spring/Hibernate 时事务不回滚

    我正在进行单元测试 我希望提交给 MySQL 数据库的所有数据都将被回滚 但事实并非如此 尽管我的日志显示正在发生回滚 但数据正在提交 我已经为此奋斗了几天 所以我的设置发生了很大变化 这是我当前的设置 登录DAOTest java Run
  • C++ 中紧密耦合的并行类层次结构

    对于上下文 我正在研究 C 人工生命系统 http github com taliesinb floatworld 涉及由循环神经网络控制的代理 但细节并不重要 我需要将代理的 大脑 和 身体 的两个对象层次结构分开 我想要各种不同的大脑和
  • 抛出新的异常最佳实践[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 以下是好的做法吗 如果不是 应该做什
  • 如何使用 .NET / GDI+ 禁用子采样?

    我正在尝试使用 Bitmap 类保存 JPEG 图像 我注意到无论我指定的质量级别如何 锐利的边缘总是模糊的 我发现这是由于一个或多个通道的二次采样造成的 如何在保存图像时禁用子采样 我目前正在使用这段代码 EncoderParameter
  • 在“世界风”中单击时禁用地球仪移动

    我正在尝试在 世界风 中单击鼠标禁用地球仪的移动 我期望能够做到 void disableGlobeDrag WorldWindowGLCanvas ww ww addMouseMotionListener new MyMouseMotio
  • 获取 S&P 500 股票代码列表

    所以我用这个在 Python for Finance 上 它总是给我错误 1 line 22 in
  • 在 Windows 上的 Emacs 内从 py-shell 运行 Matplotlib 或 enthought.mayavi.mlab

    我可以从常规 cmd shell 正常运行以下代码 import matplotlib pyplot as plt fig plt figure plt show 它启动一个 Matplotlib 窗口 然而 使用 shell 或 py s
  • 在 web.config 的 appSettings 中使用“&”

    我正在尝试将网站地址存储在 web config 文件的 appSettings 部分中 URL 末尾有两个查询字符串参数 因此我需要使用 符号 当我在代码文件中硬编码 URL 时 如果我替换它就可以工作 amp 在配置文件中 这些字母是红
  • django 查询集上的复杂注释

    我遇到一个问题 无法从复杂的环境中获取所需的所有信息 annotate 调用我的 django 视图 这是我的模型 RECORD STATUS 0 Hidden 1 Unhidden 2 Deleted class Activity mod
  • 模拟网络连接不良

    我正在开发一个可以通过 LAN 访问互联网的嵌入式设备 我现在正处于测试阶段 我想测试当互联网连接较差时设备的性能 目前 该设备通过集线器连接到路由器 我用集线器通过 Wireshark 监控数据包 降低设备的互联网速度以模拟可能发生的场景
  • R计算数据帧中相似行的出现次数

    我有以下格式的数据 称为 DF 这只是一个简化的示例 eval num eval count fitness fitness mean green h 0 green v 0 offset 0 random 1 1 1500 1500 10
  • Winform 更新长时间运行的任务

    当应用程序执行长时间运行的任务时 您是否有一个好的解决方案来保持 请稍候 winform 绘制 我尝试在每个步骤中使用 form refresh 但是会发生一些长时间运行的查询 这意味着这不够频繁 基本上是这个那么问题 https stac
  • 简单英语中的乔姆斯基层次结构

    我试图找到乔姆斯基提出的 4 个级别的正式语法 无限制 上下文相关 上下文无关 常规 的简单 即非形式 解释 我已经很久没有学习正式语法了 各种定义现在让我难以想象 明确地说 我是not寻找随处可见的正式定义 例如here http en
  • 如何在管理面板中使用动态数据?

    class Message models Model date models DateField user models ForeignKey UserEx groups models ManyToManyField Group main
  • 如何通过仅编写一次来在客户端和服务器之间共享域类和业务规则,就像在 RIA 服务中一样

    在 ASP NET WCF 应用程序中 我希望在客户端和服务器之间共享域类和业务规则 而不需要重写它们 就像在 Silverlight RIA 服务中一样 将这些收集在一个程序集中并从客户端和服务器引用它可以解决问题 但是如何解决 通过向客
  • 反应性可观察订阅处置

    如果我有权访问一个我知道只会返回一项的 IObservable 这是否有效 它是最佳使用模式吗 IDisposable disposable null disposable myObservable Subscribe x gt DoThi
  • 禁用 Heroku 路由器日志

    我写了一个 Heroku 应用程序 这是一个非常简单的 API 一些GET向其发出的请求包含其参数中的敏感信息 最好不要让 Heroku 记录这些敏感信息 有什么办法可以拥有 Herokunot记录请求或者更好的是 截断路径以使其不包含参数
  • c++ 存储函数和参数列表以供以后使用

    所以我想通过用 C 编写一个小型线程池来挑战自己 并且我想尝试模仿 std thread 的易用方式 您可以创建一个线程并作为参数发送一个函数和参数与 pthreads 之类的函数相比 pthreads 强制您将 void 作为该函数的唯一
  • 刺激控制器在 Rails 7 应用程序中根本无法运行

    我真的很难让 Stimulus 控制器在我正在开发的 Rails 7 应用程序中运行 并且非常感谢任何人可能提供的帮助 我一直在旋转我的轮子 我的应用程序 js Configure your import map in config imp