Ruby on rails 轨道形式_,用于命名器
我正在尝试在rails应用程序中使用erb生成表单。我不断得到.html.erb文件第3行的命名错误。下面是迁移、控制器、模型和.html.erb 错误为“未定义的方法`class\u projects\u path'” 迁移:Ruby on rails 轨道形式_,用于命名器,ruby-on-rails,activerecord,migration,Ruby On Rails,Activerecord,Migration,我正在尝试在rails应用程序中使用erb生成表单。我不断得到.html.erb文件第3行的命名错误。下面是迁移、控制器、模型和.html.erb 错误为“未定义的方法`class\u projects\u path'” 迁移: class CreateClassProjects < ActiveRecord::Migration def change create_table :class_projects do |t| t.string :name
class CreateClassProjects < ActiveRecord::Migration
def change
create_table :class_projects do |t|
t.string :name
t.text :description
t.text :summary
t.text :github
t.text :other_url
t.timestamps
end
end
end
感谢您的帮助,inb4学习编写nub代码,使用搜索功能nub等等。您没有定义资源路由,因此您的表单需要额外的配置
<%= form_for @class_project, url: new_path do |f| %
您没有定义资源路由,因此表单需要额外的配置
<%= form_for @class_project, url: new_path do |f| %
您没有定义资源路由,因此表单需要额外的配置
<%= form_for @class_project, url: new_path do |f| %
您没有定义资源路由,因此表单需要额外的配置
<%= form_for @class_project, url: new_path do |f| %
您需要使用以下各项:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
这意味着您将能够使用以下功能:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
#app/controllers/class_projects_controller.rb
类ClassProjectsController<应用程序控制器
def新
@class_project=ClassProject.new
结束
结束
#app/views/class_projects/new.html.erb
...
--
路线
您的问题是,您没有为class\u项目
对象声明完整的路由。Rails运行()路由系统,这意味着如果您调用resources
指令,您将获得完整的CRUD路由结构:
这意味着,如果您为
(它基于您提供的对象构建路由)使用诸如form_之类的帮助器,则必须设置此CRUD补充路由
如上所述定义路由文件将使您能够为
帮助程序调用表单,\u而不受惩罚(且无额外参数)您需要使用以下选项:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
这意味着您将能够使用以下功能:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
#app/controllers/class_projects_controller.rb
类ClassProjectsController<应用程序控制器
def新
@class_project=ClassProject.new
结束
结束
#app/views/class_projects/new.html.erb
...
--
路线
您的问题是,您没有为class\u项目
对象声明完整的路由。Rails运行()路由系统,这意味着如果您调用resources
指令,您将获得完整的CRUD路由结构:
这意味着,如果您为
(它基于您提供的对象构建路由)使用诸如form_之类的帮助器,则必须设置此CRUD补充路由
如上所述定义路由文件将使您能够为
帮助程序调用表单,\u而不受惩罚(且无额外参数)您需要使用以下选项:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
这意味着您将能够使用以下功能:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
#app/controllers/class_projects_controller.rb
类ClassProjectsController<应用程序控制器
def新
@class_project=ClassProject.new
结束
结束
#app/views/class_projects/new.html.erb
...
--
路线
您的问题是,您没有为class\u项目
对象声明完整的路由。Rails运行()路由系统,这意味着如果您调用resources
指令,您将获得完整的CRUD路由结构:
这意味着,如果您为
(它基于您提供的对象构建路由)使用诸如form_之类的帮助器,则必须设置此CRUD补充路由
如上所述定义路由文件将使您能够为
帮助程序调用表单,\u而不受惩罚(且无额外参数)您需要使用以下选项:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
这意味着您将能够使用以下功能:
#config/routes.rb
resources :class_projects
#app/controllers/class_projects_controller.rb
class ClassProjectsController < ApplicationController
def new
@class_project = ClassProject.new
end
end
#app/views/class_projects/new.html.erb
<%= form_for @class_project do |f| %>
...
<% end %>
#app/controllers/class_projects_controller.rb
类ClassProjectsController<应用程序控制器
def新
@class_project=ClassProject.new
结束
结束
#app/views/class_projects/new.html.erb
...
--
路线
您的问题是,您没有为class\u项目
对象声明完整的路由。Rails运行()路由系统,这意味着如果您调用resources
指令,您将获得完整的CRUD路由结构:
这意味着,如果您为
(它基于您提供的对象构建路由)使用诸如form_之类的帮助器,则必须设置此CRUD补充路由
如上所述定义路由文件将使您能够为
帮助程序调用表单,\u而不受惩罚(且无额外参数)路由应更改为创建路径他将其路由命名为:“新建”
好的,我猜他需要另一条路线来创建postRoute应该更改为创建路径他将他的路线命名为:“new”
好的,我猜他需要另一条路线来创建postRoute应该更改为创建路径他将他的路线命名为:“new”
好的,好的,我猜他需要另一条路径来发送邮件,应该将其更改为创建路径。他将他的路径命名为:“new”
好吧,我猜他需要另一条路径来发送邮件。谢谢,我添加了:url=>“new”作为参数,以便在方法调用的表单中覆盖默认的表单操作。你太棒了!谢谢,我添加了:url=>'new'作为一个参数,以覆盖表单_for方法调用中的默认表单操作。你太棒了!谢谢,我添加了:url=>'new'作为一个参数,以覆盖表单_for方法调用中的默认表单操作。你太棒了!谢谢,我添加了:url=>'new'作为一个参数,以覆盖表单_for方法调用中的默认表单操作。你太棒了!