Articles of ruby on rail

具有小数精度的Formtastic数字字段?

当然我错过了一些非常明显的东西……我有一个十进制精度为2的字段,但Formtastic只显示一个小数,除非实际值有2个位置。 我错过了什么? 模型: create_table “items”, :force => true do |t| t.string “item_number” t.integer “buyer_id” t.integer “seller_id” t.string “description” t.decimal “sales_price”, :precision => 10, :scale => 2, :default => 0.0 t.datetime “created_at” t.datetime “updated_at” end 视图 %td= bought.input :sales_price, input_html: { class: ‘span2’}, label: false 注意到下面的回答,其他人在以后发现这个问题可能并不清楚: %td= bought.input :sales_price, input_html: { class: ‘span2’, value: number_with_precision(bought.object.sales_price, precision: […]

过滤能够使用Devise登录的用户

我有一个使用Devise进行身份validation的Rails应用程序。 用户属于经销商,我希望阻止属于残障经销商的用户能够登录。 是否有一种直接的方式来扩展Devise的身份validation查找器,以便它不包括已删除的经销商的用户? 也许在User上使用命名范围? 干杯 特里斯坦

如何使用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深度的东西。