gpt4 book ai didi

ruby-on-rails - 带参数的 before_filter

转载 作者:数据小太阳 更新时间:2023-10-29 06:18:58 25 4
gpt4 key购买 nike

我有一个方法可以做这样的事情:

before_filter :authenticate_rights, :only => [:show]

def authenticate_rights
project = Project.find(params[:id])
redirect_to signin_path unless project.hidden
end

我还想在其他一些 Controller 中使用这个方法,所以我将这个方法复制到一个包含在 application_controller 中的 helper。

问题是,在某些 Controller 中,项目的 id 不是 :id 符号,而是 f.e. :project_id(还有一个 :id 存在(对于另一个模型)

你会如何解决这个问题?是否可以选择将参数添加到 before_filter 操作(以传递正确的参数)?

最佳答案

我会这样做:

before_filter { |c| c.authenticate_rights correct_id_here }

def authenticate_rights(project_id)
project = Project.find(project_id)
redirect_to signin_path unless project.hidden
end

其中 correct_id_here 是访问 Project 的相关 ID。

关于ruby-on-rails - 带参数的 before_filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507026/

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