ruby-on-rails – 如何在Rails中始终为帐户范围设置值?
发布时间:2020-12-17 03:08:22 所属栏目:百科 来源:网络整理
导读:我正在开发一个多用户,多帐户的应用程序,其中一个帐户可以有n个用户.每个用户只能从其帐户访问信息非常重要.我的方法是为数据库中的每个模型添加一个account_id,然后在每个控制器中添加一个过滤器,只选择具有当前account_id的对象.我将使用授权插件. 这种方
我正在开发一个多用户,多帐户的应用程序,其中一个帐户可以有n个用户.每个用户只能从其帐户访问信息非常重要.我的方法是为数据库中的每个模型添加一个account_id,然后在每个控制器中添加一个过滤器,只选择具有当前account_id的对象.我将使用授权插件.
这种方法是个好主意吗? 始终为未创建的每个对象设置account_id的最佳方法是什么 object.account = @current_account 在每个CREATE动作中?也许过滤器? 此外,我不确定为选择选项实现过滤器的最佳方法.我需要类似一般条件的东西:无论SQL语句中出现什么,总有一个“WHERE account_id = XY”. 谢谢你的帮助! 解决方法
这类似于User.has_many:电子邮件方案.您不希望用户通过更改URL中的ID来查看其他人的电子邮件,因此您执行此操作:
@emails = current_user.emails 在你的情况下,你可以做这样的事情: class ApplicationController < ActionController::Base def current_account @current_account ||= current_user && current_user.account end end # In an imagined ProjectsController @projects = current_account.projects @project = current_account.projects.find(params[:id]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |