在编辑时为form_for生成了错误的操作

时间:2013-05-31 13:43:31

标签: ruby-on-rails ruby routing scaffolding ruby-on-rails-4

我的编辑表单的操作生成错误。我构建模型的方式与平常略有不同,我首先使用以下方式生成模型:

rails g model category name:string description:text

然后我跑rake db:migrate然后我使用:

生成了脚手架

rails g scaffold_controller Category

问题在于,在生成的编辑表单中,正在提交的表单是category/1而不是categories/1

我正在使用rails 4.我不确定表单操作是如何决定的,但设置错误。另一方面,新的类别形式工作正常,帮助任何人吗?

似乎form_for正在生成错误的操作,即使它应该呈现category_path(@category)但是当我打印出该路径时它是正确的。有没有什么地方可以很好地解释form_for帮助方法,我一直在寻找并找不到它。

3 个答案:

答案 0 :(得分:0)

检查您的路线,看看您是否resources :categories以及与Category无关。

答案 1 :(得分:0)

请检查所创建文件/类的所有命名。

  • 您的控制器应为CategoriesController
  • 迁移文件应为create_table :categories do |t|
  • 目录app/views/categories应该存在
  • rake routes中,所有内容都应为...categories..

答案 2 :(得分:0)

解决方案是删除所有更改并使用以下方法正确生成脚手架:

rails g scaffold Category name:string description:text