gpt4 book ai didi

ruby-on-rails - 路由错误未初始化常量

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:27 25 4
gpt4 key购买 nike

我正在尝试学习 RoR。我的 Controller 是

class SectionController < ApplicationController
def new
if request.post?
u=SectionMst.new( :section_name => params[:section_name])
u.save
redirect_to("/section")
else
render
end
end

def index
@sections = SectionMst.all
end

def destroy
u=SectionMst.destroy(params[:id])
u.save
redirect_to("/section")
end

def edit
@user = SectionMst.find(params[:id])
end
end

index.html.erb 是

<%= link_to "Edit", edit_section_path(section.id), method: :edit %>

rake 路线是

  section_new  POST   /section/new(.:format)      section#new
POST /section/:id/edit(.:format) section/:id#edit
section_index GET /section(.:format) section#index
POST /section(.:format) section#create
new_section GET /section/new(.:format) section#new
edit_section GET /section/:id/edit(.:format) section#edit
section GET /section/:id(.:format) section#show
PUT /section/:id(.:format) section#update
DELETE /section/:id(.:format) section#destroy

routes.rb 是

post "section/new"
post "section/:id/edit"
resources :section

我得到了路由错误未初始化的常量部分

如果我删除routes.rb的第二行然后我得到路由错误没有路线匹配 [POST] "/section/3/edit"

不明白为什么???

最佳答案

  1. 删除 routes.rb 中的第一行和第二行。他们是多余的。 resources 将自动创建这些行。

  2. resources :section应该写成resources :sections。请注意它是复数。

  3. 在您的 index.html.erb 中,您根本不应该提及 method:。它是自动设置的,并且 :edit as 方法不存在。方法是指 put 或 get 或 delete,但您通常不必提及它。

关于ruby-on-rails - 路由错误未初始化常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20988088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com