gpt4 book ai didi

ruby - block 前的 Sinatra/Rack params[]

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:16 25 4
gpt4 key购买 nike

我正在使用 Sinatra 制作网站,一切顺利,或者直到我需要访问 params[] before 中的哈希 block 。

基本上,我正在尝试这样做:

before do
if params[:forum_id]
@forum = Forum.find(params[:forum_id])
build_breadcrumbs(@forum.parents)
# ... more code, snipped to keep it short
end
end

但问题是,我无法调用 params[] before 中的哈希 block ,有没有人有什么想法?

我将这段代码放在 before 中的原因 block 是因为我宁愿不必去把它放在我的每一个 get 中。和 post每个页面的 block 。

最佳答案

来自文档:

Before filters are evaluated before each request within the same context as the routes will be and can modify the request and response.

由于这发生在实际请求之前,您无法访问请求参数。您可以做的是将重复代码放入一个方法中,然后在您的路由 block 中调用它。

关于ruby - block 前的 Sinatra/Rack params[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778179/

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