我的rails应用中有一个产品型号。现在我想通过不同命名空间(api)中的脚手架为这个产品模型创建一个控制器和视图。
直到现在我已尝试使用
rails g scaffold_controller product name:string price:integer
之后我将其添加到我的路线文件
namespace :api do
resources :products
end
现在我去链接api / products。我收到此错误
uninitialized constant Api::Product
关于索引动作
def index
@api_products = Api::Product.all
end
在此之后,我从我的控制器索引中删除了Api :: new和create action。执行此操作后,我的索引URL(/ api / products)工作正常但现在当我尝试创建新产品(/ api / products / new)时出现以下错误
undefined method `products_path'
这是我的模型文件的代码(location is models /)
class Product < ActiveRecord::Base
end
任何人都可以帮助您正确实施吗?
答案 0 :(得分:1)
您应该将product.rb
移至app/models/api
并将 班级名称 更改为Api::Product
#app/models/api/product.rb
class Api::Product < ActiveRecord::Base
self.table_name = "products"
end