gpt4 book ai didi

ruby-on-rails - 如何始终为 Rails 中的帐户范围设置值?

转载 作者:行者123 更新时间:2023-12-05 00:09:11 26 4
gpt4 key购买 nike

我正在开发一个多用户、多帐户应用程序,其中 1 个帐户可以有 n 个用户。每个用户只能从其帐户访问信息非常重要。我的方法是向数据库中的每个模型添加一个 account_id,然后在每个 Controller 中添加一个过滤器以仅选择具有当前 account_id 的对象。我将使用授权插件。

这种方法是个好主意吗?

始终为每个不写入而创建的对象设置 account_id 的最佳方法是什么

object.account = @current_account

在每个 CREATE Action 中?也许是过滤器?

此外,我不确定为选择选项实现过滤器的最佳方法。我需要类似一般条件的东西:无论 SQL 语句中出现什么其他内容,总是有一个“WHERE account_id = XY”。

谢谢你的帮助!

最佳答案

这类似于 User.has_many :emails 场景。您不希望用户通过更改 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])

关于ruby-on-rails - 如何始终为 Rails 中的帐户范围设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/792475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com