草庐IT

rack-flash

全部标签

ruby - 如何使用 Unicorn 运行基于 Rack 的应用程序(非 Rails)

如何使用unicorn运行基于Rack的应用程序(而非Rails)?假设我有一个名为server.ru的“helloworld”响应简单Rack应用程序,以及位于同一目录的名为unicorn.conf的配置文件,我应该如何运行它?例如,在Thin中,我会做类似的事情:bundleexecrackupserver.ru-sthin-Eproduction-p4001我如何做同样的事情才能在Unicorn下运行? 最佳答案 Unicorn不会对Rails3+应用程序给予任何特殊处理,因此Rails3+应用程序和非RailsRack应用程

ruby - 设计:从根路径重定向到 users/sign_in 时不显示 "unauthenticated"flash 消息

在Rails3.2中使用Devise2.2.4。当我未登录时,我转到urlmyapp.com/documents,Devise将我重定向到myapp.com/users/sign_in并在devise.failure.unauthenticated下显示在devise.en.yml中配置的闪现消息。这是可取的!当我未登录时,我转到了urlmyapp.com(根路径),Devise进行了类似的重定向并显示了相同的闪存消息。重定向仍然是可取的,flash消息不是那么多。有没有一种方法可以配置Devise在从根路径重定向时不显示flash的“未验证”消息?我知道我可以在自定义FailureA

ruby-on-rails - 对于 Rails 应用程序,如何显示多个 flash[ :notice] in html?

这是我在Controller文件中写的内容,但只会出现1个通知(最后一个)。flash[:notice]="a:"+aa.to_sflash[:notice]="b:"+bb.to_sflash[:notice]="c:"+cc.to_s我想同时显示所有三个通知(一次),有什么方法可以实现吗?在我的html中: 最佳答案 你可以这样试试flash[:notice]=["a:"+aa.to_s]flash[:notice]然后在你的View中,输出为")%>或者你想要的任何东西 关于rub

ruby - 如何为 Rack 应用程序设置端口?

构建器.rb:defappRack::Builder.newdorunApp.newend.to_append如何在给定的端口上运行? 最佳答案 尝试:Rack::Handler.default.run(app,:Port=>3000)虽然更典型的做法是在config.ru文件中运行您的应用程序并将端口指定为rackup的命令行选项,例如:rackup-p3000。 关于ruby-如何为Rack应用程序设置端口?,我们在StackOverflow上找到一个类似的问题:

ruby - 是否有基于 Rack 或 Sinatra 的环境配置实用程序?

Sinatra/Rack世界中是否有任何类似于Rails配置加载方案的东西,它根据Rails.env加载config\enviroments\*.rb文件之一我知道我可以很容易地开发一个,我只是想知道是否已经有了一些东西。 最佳答案 如果您遵循Rails惯例,将每个环境的文件放在config/environments/environment_name.rb中,您可以将类似的内容放在您的Sinatra应用程序中,或者对于Rack放在您的config.ru文件中:Dir.glob(File.dirname(__FILE__)+"/con

ruby - Rack Sessions 在 Chrome 中迷路了

我在使用Sinatra构建的EC2上托管了一个非常简单的应用程序,在nginx后面使用thin服务。问题是在Chrome中,session变量在Sinatra中“丢失”了。它不会发生在Firefox中。这是使用Rack::Session::Cookie。这类似于此问题:SinatranotpersistingsessionwithredirectonChrome如果您能提供有关如何在Chrome中解决此问题的任何见解,我们将不胜感激。 最佳答案 确保您正在设置以下内容:configure:developmentdoset(:sess

ruby-on-rails - 如何解决 Rack Lint 错误?

我注意到某些请求,特别是来自UptimeRobot的测试页面正常运行时间最近开始在我的Rails3.1.x应用程序上生成以下RackLint错误:21:47:05web.1|StartedHEAD"/"for74.86.158.106at2012-03-2221:47:05-040021:47:05web.1|ProcessingbyHomeController#indexas*/*...21:47:05web.1|/Users/username/.rvm/gems/ruby-1.9.3-p125@project/gems/activesupport-3.1.4/lib/active_

ruby - 使用 Sinatra session 和 Rack::Session::EncryptedCookie 的 cookie 内容差异

我正在学习Sinatra框架并开发登录系统。我遇到了两种使用cookie的方法。一个简单的Sinatra内置方式:enable:sessionsset:session_secret,'random-key'此方法在登录时生成以下cookie内容(使用session.inspect获取输出):{"session_id"=>"6be0b9a31831604ba51114d265ba952482e0b2da6ced6c54e15ebe7f212858ca","tracking"=>{"HTTP_USER_AGENT"=>"b8c1e8f89eeaea0b825bed0d811f0c7678e

ruby-on-rails - Flash 消息的 CSS 样式

我应该使用什么在我的CSS中设置我的flash消息的样式?我似乎无法改变它的样式。这是中的相关代码我的应用程序布局:">相关的原始CSS是这样的,但目前不起作用。.error,.alert,.notice,.success,.info{padding:0.8em;margin-bottom:1em;border:2pxsolid#ddd;}.success{background:#e6efc2;color:#264409;border-color:#c6d880;} 最佳答案 或者为父级div添加一条规则,id通知:#notice{

ruby-on-rails - 可以从 Rack 中间件中访问 Rails 记录器吗?

我想使用应用程序的现有记录器从我放入Rails应用程序的中间件中记录内容。有没有标准的方法来做到这一点?我想到了两种可能性:记录器可在Rack环境中直接访问loger可以在应用程序启动时访问并分配给中间件搜索涉及其中任何一个的解决方案并没有得到太多结果。我还没有完全考虑/试验以查看操作顺序是否允许这两种可能。 最佳答案 我已经能够通过编写我自己的中间件来实现它,它只是将Rails.logger添加到Rack环境中。moduleSomethingclassUseRailsLoggerdefinitialize(app)@app=app