我正在创建一个Rails应用程序,其中有一个资源用作整个网站的常规设置。我将所有设置如下:
配置/路由。rb型
authenticate :user do
scope '/admin' do
resource :basics #This is my resource's name, put in singular
# ...
end
end
控制器/basics\u控制器。rb型
private
# Use callbacks to share common setup or constraints between actions.
def set_basic
@basic = Basic.first
end
视图/基础/\u表单。html。雇员再培训局
<%= form_with(model: @basics, local: true) do |form| %>
这是什么
rake routes
显示有关此资源的信息:
new_basics GET /admin/basics/new(.:format) basics#new
edit_basics GET /admin/basics/edit(.:format) basics#edit
basics GET /admin/basics(.:format) basics#show
PATCH /admin/basics(.:format) basics#update
PUT /admin/basics(.:format) basics#update
DELETE /admin/basics(.:format) basics#destroy
POST /admin/basics(.:format) basics#create
我在显示表单方面没有任何问题。然而,当我提交它时,我得到以下错误:
没有与[发布]匹配的路由“/管理/基本/编辑”
当我查看HTML生成的表单时,我可以看到它将“/admin/basics/edit”作为一个动作传递,而在我的情况下,它应该只是“/admin/basics”。
我应该怎么做才能让它工作?
提前谢谢你