devise gem如何使其应用程序文件夹可用于Rails?

网站

我看到了他们的app文件夹,但看不到Rails如何使用该文件夹。

我的尝试是搜索railtieviews_path,因为我有兴趣编写共享视图和帮助文件的gem。我怎样才能做到这一点?

在哪里可以找到有关此文档的文档?我应该用谷歌搜索哪个关键字:铁路,引擎?

加布里埃尔·西鲁利(Gabriele Cirulli)

像Devise之类的宝石使用Rails中一个称为Engines的功能。

引擎基本上允许您构建自己的功能并将它们无缝地插入另一个应用程序,从而有效地使引擎中的视图,模型和控制器可用,就好像它们是其中的一部分一样。

Rails引擎不仅是在gem中提供功能的好方法,而且通过将各种功能组合在一起,可以使自己的应用保持整洁

如果您想了解细节,Rails Engine只是一种特殊的Rack应用程序。这样,它可以由Rails路由器安装简而言之,Rails路由器会检测对这些应用已“安装”到的路径的请求,并将其路由到引擎提供的控制器(而不是常规控制器)。


确保不要将此概念与Omniauth等其他宝石混淆

此类宝石提供了Rack Middleware,并不一定需要通过Rails路由器将其集成到应用程序中。

您需要多了解一些有关Rack的知识,以了解其工作原理,但实际上,对应用程序的每个请求都必须先通过Omniware(例如Omniauth)进行传递,然后才能真正到达Rails路由器。所说的中间件可以自己响应请求(基本上使它停止并且永远不会到达路由器和应用程序的其余部分),或者“增强”请求(例如,Omniauth检查并执行认证,然后将数据存储在请求中env)将请求传递给下一个中间件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

生成Devise控制器-Rails Devise

来自分类Dev

覆盖gem devise的验证

来自分类Dev

Rails 4 + Devise + Heroku

来自分类Dev

Devise Rails API

来自分类Dev

使用devise gem将rails应用程序部署到heroku

来自分类Dev

在codeigniter中,如何通过将资产文件夹放在应用程序文件夹中使其工作?

来自分类Dev

运行devise时,devise给出错误:在rails应用程序中安装

来自分类Dev

在Rails应用程序中为多个模型使用devise

来自分类Dev

在Rails应用程序中为多个模型使用devise

来自分类Dev

在引擎的Rails应用程序中使用Devise

来自分类Dev

Devise + Omniauth没有初始化程序文件

来自分类Dev

如何指向应用程序文件夹?

来自分类Dev

斯威夫特:如何确定应用程序文件夹?

来自分类Dev

斯威夫特:如何确定应用程序文件夹?

来自分类Dev

如何将带有Devise的Rails应用程序转换为OAuth提供程序?

来自分类Dev

Rails Devise Bootstrap注册模式

来自分类Dev

Rails 5,Devise,Omniauth,Twitter

来自分类Dev

Rails 4,Devise记住令牌

来自分类Dev

Rails挂在Devise登录上

来自分类Dev

Rails Devise Bootstrap注册模式

来自分类Dev

通过Devise in Rails保护动作

来自分类Dev

Devise and Cancancan-如何使其工作?

来自分类Dev

如何使用devise和devise_security_extension?

来自分类Dev

form_for in devise如何工作?

来自分类Dev

如何集成Devise和SAML?

来自分类Dev

如何集成Devise和SAML?

来自分类Dev

无法使用Devise gem登录Heroku中的Rails 5应用

来自分类Dev

如何使用devise gem配置RubyMine?

来自分类Dev

用于 Devise 和 Milia 的 Twilio Rails 集成