我想创建管理员帐户,目前正在为用户帐户使用devise gem。在应用上,用户可以创建他们的产品管理员角色将验证产品并批准它们。在管理员批准之前,不应发布产品。我不知道如何去做。 谁能告诉程序? 这将是很大的帮助。 感谢。
答案 0 :(得分:2)
published
rails g migration add_published_field_to_products published:boolean
的布尔字段添加到您的产品表中
default: false
添加到列rake db:migrate
scope :published, where(published: true)
瞧!现在,管理员可以发布或取消发布您的产品,并且在您的控制器中,您可以说@products = Product.published
之类的内容来获取所有已发布的产品。
答案 1 :(得分:2)
我会创建一个列approved
,默认情况下将Product
类型设置为false
。所以只有管理员才能看到那些产品。
current_user.admin? ? @products = Product.all : @products = Product.where(:approved => false)
然而,您可以使用相同的想法列出要批准的产品。
现在你可以开始尝试一些代码了,当你开始面对代码问题时你可以回来。
答案 2 :(得分:0)
如果你想在更广泛的层面上实现这一点,请使用Ryan Bates cancan gem。您可以在视图级别设置角色和控制显示。