https://guides.rubyonrails.org/getting_started.html
...但是每当点击“删除”链接时,文章并没有被删除。什么也没有发生,而且发送的是一个GET请求,而不是DELETE请求。从erb文件中:
<%= link_to 'Destroy', article_path(@article), data:{
turbo_method: :delete,
turbo_confirm: 'Are you sure?'
} %>
从控制器:
def destroy
@article = Article.find(params[:id])
@article.destroy
redirect_to root_path, status: :see_other
end
尝试了在SO和各种网页中提到的解决方案(将以下内容添加到我的'application.html.erb'文件中:
<%= javascript_include_tag 'application', "data-turbo-track": "reload" %>
...我得到了这个错误:
ActionView :: Template :: Error(资产“application.js”不存在于资产管道中。
我进行了一些挖掘,意识到应用程序脚手架(在此示例中为rails new blog
)甚至没有创建任何Javascript目录,更不用说向其中添加任何JS文件了。我可以自己添加它们,但我甚至不知道Rails和/或Turbo正在寻找哪些JS文件。JQuery?其他一些库吗?
然而,理想情况下,我想知道如何正确地搭建一个应用程序,以便包括任何必要的Javascript。
谢谢, Bryan
编辑 通过使用“非Turbo”删除项目的方法并使用“button_to”而不是“link_to”来触发“删除”链接,我已能够使删除功能正常工作。 但是- 我仍然想知道为什么教程中显示的应用程序无法按预期工作,以及如何使用链接而不是按钮触发项目删除(更不用说为什么使用turbo不起作用)。
bin/dev
来启动foreman进程。 - mechnicov