2013-02-15 49 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宝石。您可以设置角色并在视图级别控制显示。

相关问题