我在rails中创建自己的博客管理应用程序(用于实验目的)....最好的方法是什么? 我有帖子和类别。 我希望有一个类别下拉列表供用户在创建新帖子时选择一个。 现在,每个用户将拥有不同的权限,因此并非所有用户都应显示所有类别.... 现在我可以创建帖子并选择我想要的类别...我没有为每个用户支持添加任何过滤器.... 请帮我,我现在应该去哪里?
答案 0 :(得分:1)
首先,您需要实施身份验证和授权。关于这些主题有很多很好的Rails教程,所以我不会在这里详细介绍。
此时您将拥有User,Post和Category的模型。您需要每个授权类别的用户列表。一个天真的模型:
class User < ActiveRecord::Base
has_and_belongs_to_many :categories
end
但这是误导性的,因为用户实际上并没有“进入”任何类别。你可能想要像这样的连接模型:
class UserCategoryAuthorization < ActiveRecord::Base
belongs_to :user
belongs_to :category
// More fields here; possibly:
// belongs_to :authorized_by, :class_name => 'User'
end
class User < ActiveRecord::Base
has_many :user_category_authorizations
has_many :authorized_categories,
:through => :user_category_authorizations,
:source => :category
end
答案 1 :(得分:0)
首先,我会给用户一个has_many类别关系(如果这个想法变得更复杂,你可以在某些时候变成自己的模型对象......或者现在如果它已经有意义了)然后假设你已经有了日志在功能中,您可以向登录用户询问其类别并适当填充下拉列表。
如果这是一个安全问题而不仅仅是方便,那么当表单提交回服务器时,您需要验证所选类别是否在用户类别中。
如果您还没有登录,我相信有几个rails插件可以帮助您快速获得此功能。