2013-02-15 51 views
0

我想創建管理員帳戶,目前使用用戶帳戶的設計寶石。在應用上,用戶創建他們的產品。管理員角色將驗證產品並批准它們。產品不應在管理員批准之前發佈。我不知道該怎麼去做。 任何人都可以告訴程序嗎? 這將是很大的幫助。 謝謝。Rails:用戶創建產品的管理員批准

回答

1
  1. 安裝rails admin gem(可選的,但這樣你就不必從頭開始建立一個管理面板是一個真棒寶石)運行rails g migration add_published_field_to_products published:boolean
  2. 添加一個布爾字段名爲published您的產品表
  3. 轉到生成的遷移文件中,並添加default: false到列
  4. 運行rake db:migrate
  5. 一個範圍添加到您的產品型號:scope :published, where(published: true)

瞧!現在管理員將能夠發佈或取消發佈您的產品,並且在您的控制器中,您可以使用類似@products = Product.published這樣的語言來獲取所有已發佈的產品。

+0

嘿謝謝!將回來實現這一點。 – user1957141 2013-02-15 11:49:54

2

我會創建一個列approved,鍵入boolean到Product默認設置爲false。所以只有管理員才能看到這些產品。

current_user.admin? ? @products = Product.all : @products = Product.where(:approved => false) 

比,你可以使用相同的想法列出要批准的產品。

現在你可以開始嘗試一些代碼,當你開始面臨代碼問題時,你可以回來。

+0

嘿謝謝,當然,我們會回到實施 – user1957141 2013-02-15 11:50:48

0

如果你想在更廣泛的層面上實現這一點,請使用瑞安貝茨cancan寶石。您可以設置角色並在視圖級別控制顯示。

相關問題