Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我如何更改Rails代码以使其在Sinatra中工作?_Ruby On Rails_Ruby_Sinatra - Fatal编程技术网

Ruby on rails 我如何更改Rails代码以使其在Sinatra中工作?

Ruby on rails 我如何更改Rails代码以使其在Sinatra中工作?,ruby-on-rails,ruby,sinatra,Ruby On Rails,Ruby,Sinatra,与Sinatra兼容的名为“omniauth ebay的Rails gem”使用以下代码进行自我设置: Rails.application.config.middleware.use OmniAuth::Builder do provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl" end 我知道omniauth(omniauth ebay基于它)gem肯定与Sinatra兼容。请注意

与Sinatra兼容的名为“omniauth ebay的Rails gem”使用以下代码进行自我设置:

Rails.application.config.middleware.use OmniAuth::Builder do
       provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
    end
我知道
omniauth
omniauth ebay
基于它)gem肯定与Sinatra兼容。请注意,这不是eBay或gem特有的问题,在Sinatra中当然应该有一种通用的方法来设置中间件


那么,如何更改上面的代码以使其与Sinatra一起工作?

您只需要了解Rails对您隐藏了什么。机架中间件实际上直接安装在机架内部

在config.ru文件中:

use OmniAuth::Builder do
  provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
end

config.ru由Rack加载,因此任何特定于Rack的内容都应该放在其中,除非您有某种系统将其放在其他地方。我怀疑Sinatra可能允许您从Sinatra应用程序内部调用
#use
,但config.ru仍然可以在所有情况下工作。

我从未使用过上述gem,因此不确定上述gem的代码有何作用,但这仍然有助于
https://gist.github.com/3717973?utm_source=rubyweekly&utm_medium=email