- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我一直在我的一个项目中尝试 Padrino 框架,有一件事让我很恼火。例如,我只想使用 OmniAuth 实现用户注册过程,并想打破我的请求处理程序( Controller 的操作)以分离方法,如下所示:
get ":provider/callback" do @user = find_the_user_by_oauth(request) create_user unless @user store_user_in_sessionenddef find_the_user_by_oauth(request) #...enddef store_user_in_session session[:user_id] = @user.idend
我知道将逻辑推到模型层会更好,但我的问题是,我如何才能打破 Controller 逻辑以分离方法并在它们之间共享信息(例如使用实例变量)。在 Rails 中,我在我的 Controller 的私有(private)范围内创建了这些方法,但在这里我应该扩展 Application 类,因为它会为前面的代码抛出未定义的方法异常。我尝试了 Helpers,但是 helpers 不知道实例变量,所以你应该每次都传递变量。
在 Padrino 中让我的 Controller 操作干净的好方法是什么?
最佳答案
要在 Padrino Controller 中定义一个方法,您可以使用 define_method 而不是 def。
对于你的例子,做这样的事情:
Admin.controllers :dummy do
define_method :find_the_user_by_oauth do |request|
request.params["username"]
# ...
end
define_method :store_user_in_session do
session[:user_id] = @user
end
get :test do
@user = find_the_user_by_oauth(request)
create_user unless @user
store_user_in_session()
session.inspect
end
end
Padrino 使用 instance_eval 运行发送到 Admin.controllers 的 block 。有关差异,请参阅此答案 https://stackoverflow.com/a/3171649在 define_method 和 def 之间
关于ruby - Padrino Controller 抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13331006/
我用 Sinatra 和 Padrino 编程已经有一段时间了。但是,我仍然无法为 Padrino 找到正确的身份验证和授权解决方案。让我解释一下我的期望以及我已经尝试过的内容。 使用 Sinatra
我知道在 Rails 中我可以做类似的事情 app.get 'url' app.response 但这在 Padrino 中不起作用,任何常规 controller 调用也不起作用,因为 Padrin
我需要在 Padrino 中创建一个自定义日志文件,其中包含标准输出中的所有日志记录信息以及自定义日志消息。我已经能够创建自定义日志文件,但仍然创建了标准输出文件(development.log、pr
我正在寻找一种在 Padrino 中打开和使用 websockets 的方法应用。我知道 Padrino 使用单线程,但我正在寻找一种方法来打开 websocket 并在其“onopen”、“oncl
gem 文件: # Component requirements gem 'bcrypt-ruby', :require => "bcrypt" gem 'sass' gem 'haml' gem '
我需要使用 RMagick 在我的 Controller 中即时创建图像文件并将它们发送到浏览器。看起来很简单,但是我找不到方法。我试过只是简单地 render 它们,但由于数据是二进制的,所以它失败
我在设置我的 padrino 项目中的默认 ActiveSupport::TimeZone 时遇到问题。 在我的 boot.rb 中有 Padrino.after_load do Time.zon
背景:我正在使用 Padrino、Ruby 1.9.2 构建一个简单的博客,HAML 和 Heroku。我希望帖子索引具有类似杂志的外观给它。对于索引中的每个帖子,用户应该看到标题、内容预告片和图像。
我有一个框架 Padrino (0.10.7) 项目,几乎没有代码。我正在尝试在 boot.rb 中插入一个中间件: ## # Add your after (RE)load hooks here #
我正尝试在 Padrino 中做一些基本的事情,但是大量的搜索都没有找到任何答案。我正在尝试从模型访问全局设置。我在 environments.yaml 文件的“开发”部分添加了一行名为“端点”的行,
我一直在我的一个项目中尝试 Padrino 框架,有一件事让我很恼火。例如,我只想使用 OmniAuth 实现用户注册过程,并想打破我的请求处理程序( Controller 的操作)以分离方法,如下所
我正在使用 padrino websockets ( https://github.com/dariocravero/padrino-websockets ) 为我的网站提供聊天系统,它在我的本地计算
不幸的是一开始就迷路了。使用官方指南创建第一个 test_app http://www.padrinorb.com/ 当尝试启动“padrino start”应用程序时,服务器在控制台中运行良好,但当
我已经进行了详尽的搜索,但找不到这个问题的答案。 我正在使用 padrino 编写一个小应用程序,我有 2 个 View ,人物和事件。我有这些的 View 和 Controller ,它们工作正常。
如何为 padrino + mysql Web 应用程序设置多个数据库。我已经尝试使用 activerecord 进行“建立连接”。我发现数据库未找到问题。 最佳答案 我想这取决于您使用的 ORM(在
我已经开始学习 Ruby,直接使用 Haml 学习 Padrino。 大多数 Padrino 文档都假定您具有高水平的 Ruby/Sinatra 等知识... 我正在寻找可以浏览以了解其工作原理的示例
是否可以像 postgresql 或 mysql 生成器一样将 redis 与 Padrino 一起使用。 最佳答案 看看Ohm .它是 Padrino 支持的 ORM,类似于 Active Mode
我是 Ruby 和 Sinatra/Padrino 的新手,所以如果我遗漏了一些非常简单的东西,我深表歉意。 我的 Sinatra 运行良好,因为我可以构建一个非常简单的“hello”应用程序并查看它
我对 Padrino(我来自 PHP 背景)和一般的 ruby web 框架非常陌生,并且一直在尝试弄清楚如何实现一个简单的用户身份验证和 session 管理系统,但还没有真正找到关于这个主题的
我是 Padrino 的新手,一直在学习示例博客教程。使用下面的示例代码时出现 NoMethodError # app/views/posts/index.haml @title = "Welcome
我是一名优秀的程序员,十分优秀!