没有路线匹配 [Post] /characters/1/edit

No route matches [Post] /characters/1/edit

我正在尝试访问我的角色 class 的编辑页面,但由于某种原因,它使用 POST 进行路由,而它应该是 GET。所有类似的问题都没有帮助。

这是我的编辑功能:

def edit
end

这是我的路线:

<%= button_to 'Edit Character', edit_character_path(@character) %>

characters_path GET /characters(.:format)   characters#index
POST    /characters(.:format)   characters#create
new_character_path  GET /characters/new(.:format)   characters#new
edit_character_path GET /characters/:id/edit(.:format)  characters#edit
character_path  GET /characters/:id(.:format)   characters#show
PATCH   /characters/:id(.:format)   characters#update
PUT /characters/:id(.:format)   characters#update
DELETE  /characters/:id(.:format)   characters#destroy

这是我的编辑 link:

<%= button_to 'Edit Character', edit_character_path(@character) %> 

问题是button_to根据documentation生成了一个表格,表格方法是post

您使用 button_to 的任何原因?

否则您可以只使用 link_to 并添加自定义 class:

<%= link_to 'Edit Character', edit_character_path(@character), class: 'my-custom-class' %>

因此您可以为自定义 class 添加 css 并使其看起来像一个按钮