我正在努力为一个已经掌握了数据模型的应用程序提供一个快速而肮脏的Ajax UI - 它基本上是通过rails console
进行管理的。无论如何,我认为我会首先自动生成您从rails g scaffold
获得的缺失控制器逻辑,而只使用rails g scaffold_controller
来获取现有控制器。
它创建了控制器,视图和资产..但它根本没有触及路线!它甚至没有尝试,没有说“警告:routes.rb已被修改,没有改变”或类似的东西,并且在rails g scaffold_controller
的帮助输出中根本没有提到路径。
那么我该怎么说呢:“如果我从头开始,请给我一些你给我的正常路线!”?
答案 0 :(得分:2)
如果我理解这个问题:
请打开config / routes.rb文件,然后在块(routes.draw)中添加带有表名(复数模型)作为参数的resources方法。像这样:
MyApp::Application.routes.draw do
resources :products
... # rest of code
end
定义RESTful操作对产品的路由。您可以阅读更多here
在控制台上,您可以运行:rake routes
以查看应用中的可用路线。
答案 1 :(得分:1)
尽管很久以前这是在问Rails 4,但是有了Rails 5,rails g scaffold_controller
仍然不会自动生成路由,我在下面的猴子补丁中做到了:
require 'rails/generators/rails/scaffold_controller/scaffold_controller_generator'
patcher = Module.new do
extend ActiveSupport::Concern
included do
hook_for :resource_route, required: true
end
end
Rails::Generators::ScaffoldControllerGenerator.send :include, patcher