问题描述
我正在学习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 (将#修改为@)