A" group"属于"所有者"并且有许多"成员"。 "所有者"和"成员"可以创造"事件"在"组下。"
然后我需要限制成员在特定组下创建事件。
所以我尝试将一个布尔列添加到groups表中:
但是这个列名应该是什么样的?
或者我的数据库设计有问题吗?
我知道我对命名有点过于挑剔,但我总是遇到这种命名问题和浪费时间的问题。所以我在这里问。
答案 0 :(得分:1)
一个好名字是编码中最困难的事情之一,而且我也会花时间考虑好的命名。
我的判断标准之一是查看名称的使用方式。
在数据库的角度来看,即从模型源代码中读取,only_owner_can_create
是一个很好的解释性名称。
从控制器的角度来看,您可能想要写if group.allows_members_to_create?
或unless group.only_owner_can_create
使用此字段的上下文将帮助您极大地确定名称。
你也可以拥有两全其美 - 只需使用alias_methods来添加更多方法!
答案 1 :(得分:0)
而不是布尔列添加数字列来保存一些数值。此数值将根据其级别插入。您必须在应用程序中定义这些级别。
答案 2 :(得分:0)
member_can_create_events
将是我的选择(我是单一数据点)。
这会给:
my_group.members_can_create_events?
虽然我也同意Mohanraj的观点,更完整的解决方案可能会让用户拥有级别和与#34相关的列;超过X级的用户可以在此处创建活动" ...但是如果您想要快速解决方案,布尔列的工作正常。