为啥 button_to 不能使用方法: :put with slim in rails
Posted
技术标签:
【中文标题】为啥 button_to 不能使用方法: :put with slim in rails【英文标题】:why is button_to not working with method: :put with slim in rails为什么 button_to 不能使用方法: :put with slim in rails 【发布时间】:2022-01-14 11:00:14 【问题描述】:我想用表情符号触发 put 方法,但 button_to 不适用于 slim in rails
我有以下:
= button_to vote_backend_session_path(@session.id, emoji: emoji), method: :put, remote: true, class: "btn btn-vote btn-xs bg-dark border-white hover-primary" do
i.material-icons.align-middle. #emoji.to_s
span.align-middle.text-white.ms-2 = @session.total(emoji)
它在开发者控制台中输出以下内容:
所以每次发布操作被触发并且我的控制器说它找不到指定的路线。
我试图只在开发者控制台中进行更改,但随后它触发了GET
而不是PUT
我看了几个关于button_to
的问题:
method: 'get'
一起使用没有效果。
Nested icons and Rails' link_to or button_to are not working with SLIM
在路径前放置图标会出错,而缩进第二个块会产生奇怪的输出
我也查看了 API 文档 here 并没有找到解决方案。
那么在我的情况下,如何解决这个问题并将 button_to 与 rails 一起使用?
【问题讨论】:
【参考方案1】:您的按钮类型是submit
,它将触发表单提交其字段
它不应该在表单标签内 您可以使用 CSS 技术使其看起来像在表单中
【讨论】:
您能否进一步说明您的意思是 css 技术,您认为使用 link_to 可能是更好的方法吗?由于 button_to 创建了表单。我尝试使用它,因为在某些情况下,我的投票操作会创建投票类的新实例 我认为这不是问题,因为当我在路由中更改为post :vote
时,一切正常
是的,使用 link_to 更好,你可以忽略我上面说的 CSS 技术(样式)以上是关于为啥 button_to 不能使用方法: :put with slim in rails的主要内容,如果未能解决你的问题,请参考以下文章
在 button_to 中使用 :method => delete 的目的是啥?
无法使用link_to或button_to rails访问嵌套路由