Rails没有路线匹配[GET]“ / undefined” Stimulus.JS

问题描述

我正在学习Rails,并且是第一次使用Stimulus。 我正在尝试实现一个悬停卡,以将鼠标悬停在索引页面上的每个产品卡上以显示其他产品信息。 当鼠标悬停在产品卡上时,我不断收到以下错误消息。

没有路线匹配[GET]“ / undefined”

我不确定为什么会收到此消息,因为我已经检查了路线,并且根据我的路线文件和正在运行的Rails路线,它是有效路径

这是控制台路由的一个片段

hovercard_shoe GET /shoes/:id/hovercard(.:format)shoes#hovercard

这是我的Routes.rb文件

    member do
      get :hovercard
    resources :orders
    end
  end

这让我相信,在我的Stimulus控制器或视图中可能会忽略某些东西。我在下面列出了一些代码片段。任何帮助将不胜感激。

Index.html.erb

             data-hovercard-url-value="<%= hovercard_shoe_path(shoe) %>"
             data-action="mouseenter->hovercard#show mouseleave->hovercard#hide">
             <%= link_to shoe.name,shoe,class: "branded-link" %>
        </div>

这是我的刺激hovercard_controller


export default class extends Controller {
  static targets = ["card"];
  static values = { url: String };

  show() {
    if (this.hasCardTarget) {
      this.cardTarget.classList.remove("hidden");
    } else {
      fetch(this.urlValue)
        .then((r) => r.text())
        .then((html) => {
          const fragment = document
            .createrange()
            .createContextualFragment(html);

          this.element.appendChild(fragment);
        });
    }
  }

  hide() {
    if (this.hasCardTarget) {
      this.cardTarget.classList.add("hidden");
    }
  }

  disconnect() {
    if (this.hasCardTarget) {
      this.cardTarget.remove();
    }
  }
}

如果这也是shoe_controller片段,在这里很有用。

    @shoe = Shoe.find(params[:id])

    render layout: false
  en

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...