2013-07-03 41 views
1

創建管理產品的管理員時,我應該只爲產品控制器或模型創建Admin名稱空間嗎?適用於模型或僅限於控制器的Ruby on Rails名稱空間

當我也有模型我無法使用下面的代碼爲新的動作形式的命名空間:

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

我將不得不使用

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

和控制器

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

什麼是最好的方法?

回答

3

做的最好的方式,這將是

的routes.rb

namespace :admin do 
    resources :products 
end 

控制器管理/ products_controller.rb

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

我不認爲你應該命名空間的模型admin

+0

有沒有一種簡單的方法可以將模型從命名空間中取出,還是應該銷燬它並創建它試。 – user2255273

+0

你能告訴我你怎麼讓你的命名空間模型?你可以更新你的問題 – AnkitG

+1

我摧毀了它,並創建了一個不在管理員名稱空間中的新模型。奇蹟般有效!非常感謝! – user2255273

1

我猜admin命名空間中使用Product是一樣的使用在其他地方Product。所以答案是,在這種情況下,你不應該命名空間模型。

相關問題