gpt4 book ai didi

ruby - 从 Sinatra 内部调用 Sinatra

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

我有一个基于 Sinatra 的 REST 服务应用程序,我想从其中一个路由中调用其中一个资源,从而有效地将一个资源与另一个资源组合在一起。例如

get '/someresource' do
otherresource = get '/otherresource'
# do something with otherresource, return a new resource
end

get '/otherresource' do
# etc.
end

重定向将不起作用,因为我需要对第二个资源进行一些处理并从中创建一个新资源。显然我可以 a) 使用 RestClient 或其他客户端框架或 b) 构建我的代码,以便 otherresource 的所有逻辑都在一个方法中并调用它,但是,如果我可以重新使用他们的 DSL 从 Sinatra 中使用我的资源。

最佳答案

另一种选择(我知道这不是在回答您的实际问题)是将您的通用代码(甚至是模板渲染)放在辅助方法中,例如:

helpers do
def common_code( layout = true )
@title = 'common'
erb :common, :layout => layout
end
end

get '/foo' do
@subtitle = 'foo'
common_code
end

get '/bar' do
@subtitle = 'bar'
common_code
end

get '/baz' do
@subtitle = 'baz'
@common_snippet = common_code( false )
erb :large_page_with_common_snippet_injected
end

关于ruby - 从 Sinatra 内部调用 Sinatra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3551746/

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