Tag: ruby on rail

如何使用Unicorn进行滚动重启?

假设我对我的rails应用程序进行了一些更改,例如更改html布局。 如何使用Unicorn进行滚动重启? 实际上,有人希望为最新版本的rails应用程序启动独角兽进程(或工作人员?),然后将流量从旧的独角兽进程/工作者primefaces转换为新的。 从谷歌搜索中我无法得到一个具体的明确解释,说明如何做到这一点以及围绕它的所有问题。

通过路由将参数传递给控制器​​操作

可能重复: Rails:如何将自定义参数传递给控制器​​方法? 我想知道是否可以通过路由将参数传递给控制器​​动作。 我有一个通用的动作方法,我想呼吁各种路线。 不,我不能在我的路线中使用通配符。 match ‘/about’ => ‘pages#show’ match ‘/terms’ => ‘pages#show’ match ‘/privacy’ => ‘pages#show’ 我正在寻找类似的东西: match ‘/about’ => ‘pages#show’, :path => “about” match ‘/terms’ => ‘pages#show’, :path => “terms” match ‘/privacy’ => ‘pages#show’, :path => “privacy” 谢谢。

运行规范时设计2.0’layout_by_resource’弃用警告

我正在使用Rails 3.2.0和Devise 2.0.0.rc2。 当我运行我的规范时,我收到一个弃用警告,当我正常启动Rails服务器时,我没有看到。 $ rake .DEPRECATION WARNING: Layout found at “devise” for DeviseController but parent controller set layout to :layout_by_resource. Please explicitly set your layout to “devise” or set it to nil to force a dynamic lookup. (called from realtime at /Users/foo/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/benchmark.rb:310) 我的/app/controllers/application_controller.rb看起来像: class ApplicationController < ActionController::Base protect_from_forgery layout :layout_by_resource protected def layout_by_resource if […]

设计:创建没有密码的用户

在我们的应用中,我们有普通用户。 但是,我们希望能够发出邀请,邀请某些人。 请注意,邀请直接与用户相关联,因为我们希望能够为这些用户设置某些设置。 (我们正在将客户从旧软件缓解到新软件)。 所以: 管理员应该能够创建新用户并更改其设置。 当有人使用他们的invitation_token跟踪链接时,他们应该会看到一个表单,他们可以为其帐户设置密码。 我遇到的问题是,如何启用管理员创建用户帐户,绕过正常的密码validation。 如果需要设置默认密码,这将是一个可怕的解决方案,因为这会产生严重的安全漏洞。 如何在没有提供密码的情况下在Devise中创建新用户?

资本化f.text_field

我有一个form_for,我希望x.textField中的任何值都以Upcase中的第一个字母出现(我在谈论编辑,其中文本字段由db值预先填充)。

使用Devise before_action:authenticate_user! 没有做任何事

我想要在我的Rails 4网站上的所有页面上登录。 在ApplicationController中我添加了before_action :authenticate_user! ,但它根本不做任何事情。 我试图添加相同的before_action :authenticate_user! 到另一个控制器,它工作正常。 我是否需要对ApplicationController执行其他操作,以使所有操作都需要登录(除了注册/登录)?

设计帐户解锁返回“解锁令牌无效”

我有一个标准的设计实现。 一切正常,除了帐户解锁(锁定工作正常)。 我可以使用unlock_access!在控制台中解锁帐户unlock_access! 。 我也可以使用User.find_by_unlock_token找到该帐户。 但是, UnlocksController#show – 具体来说, resource_class.unlock_access_by_token(params[:unlock_token]) – 返回“Unlock token is invalid”错误。 任何帮助将不胜感激。 谢谢!

Rails / Devise – 确定用户会话何时到期

当使用timeoutable于Devise的timeoutable模块时,如何确定当前用户会话到期之前的时间长度? 目标是在所有响应中包含此值,以便客户端脚本可以使用它。 我认为Devise在内部使用Warden进行身份validation,但我没有找到任何解释如何将会话到期时间拉出Warden深度的东西。

delayed_jobs保存已完成的工作

我可以传递给delayed_job的参数是否会阻止它从delayed_jobs表中删除已完成的作业? 有点像destroy_failed_jobs但是对于已完成的工作 有任何想法吗?

带有delayed_job的noMethodError(collectiveidea gem)

更新:这个问题有一个补丁: https : //github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798 更新2:对于在Heroku专门遇到此问题的任何人,我发现降级为Rake 0.8.7并使用延迟作业版本2.1.4工作,而延迟作业v3没有(虽然补丁它确实在本地工作) 。 这是在Bamboo-mri-1.9.2堆栈上。 我试图在本地的rails 3.1.0应用程序上实现delayed_job。 我运行了迁移并安装了gem文件: gem ‘delayed_job’ gem ‘delayed_job_active_record’ 关于collectiveidea github的文档( https://github.com/collectiveidea/delayed_job )。 我正在从我的控制器拨打延迟电话,如下所示: EventMailer.delay.event_message_email(current_user, @event_message) 这会导致将任务添加到作业表中,但是当我运行rake作业时:工作它会记录以下错误: Class#event_message_email failed with NoMethodError: undefined method `event_message_email’ for Class:Class – 6 failed attempts 我已经查看了SO上的其他delayed_job NoMethod错误问题,但没有解决此特定错误或提供解决方案。 collectiveidea页面提到没有传递方法调用的这种格式是如何设置Rails 3邮件的黑客,所以我想知道这个文档是否可能有些过时,如果有一种新的方法来调用邮件程序方法? 更新:也毫不拖延地调用邮件程序方法工作正常,我在默认的rails服务器上运行它,因此在collectiveidea faq中提到的Thin问题不适用。 谢谢