1

在创建管理产品的管理员时,我应该只为产品控制器创建一个 Admin 命名空间,还是也为模型创建一个命名空间?

当我也有模型的命名空间时,我不能将以下代码用于新的操作表单:

<%= form_for [:admin, @product] do |f| %>

我将不得不使用

<%= form_for @product do |f| %>

并在控制器中

def new
  @product = Admin::Product.new
end

什么是最好的方法?

4

2 回答 2

3

最好的方法是

路线.rb

 namespace :admin do
   resources :products
 end

控制器管理员/products_controller.rb

class Admin::ProductsController < ApplicationController
  def new
    @product = Product.new
  end
end

我认为您不应该为管理员命名模型

于 2013-07-03T11:30:37.027 回答
1

我猜Product在命名空间中使用与在其他任何地方使用admin的相同。Product所以答案是,在这种情况下,你不应该命名你的模型。

于 2013-07-03T11:30:31.343 回答