小编Con*_*orB的帖子

如何生成重置密码令牌

我正在使用devise gem进行身份验证.

在我的应用程序中,管理员将创建用户,因此当管理员创建用户时,我想要用户的重置密码链接.

这是我的行动: -

def create
   @user = User.new(user_params)
   @user.password = '123123123'
   @user.password_confirmation = '123123123'
   if @user.save
         @user.update_attributes(:confirmation_token => nil,:confirmed_at => Time.now,:reset_password_token => (0...16).map{(65+rand(26)).chr}.join,:reset_password_sent_at => Time.now)
       UserMailer.user_link(@user).deliver
       redirect_to users_path
     else
    render :action => "new"
   end
end
Run Code Online (Sandbox Code Playgroud)

这是我重置用户密码的链接

但是当我打开链接并更新密码时,我收到重置密码令牌无效.

ruby-on-rails devise

13
推荐指数
4
解决办法
1万
查看次数

ActiveAdmin自定义选择筛选器下拉列表名称

对于用户模型,我有一个过滤器来检查用户的预订状态,该状态由整数值(0,1或2)表示.

User ActiveAdmin索引页面上的过滤器使用以下代码实现:

  filter :booking_status, as: :select
Run Code Online (Sandbox Code Playgroud)

但是,这会导致下拉选项为0​​,1或2.

如果管理员用户从下拉列表中选择它们,我希望自己可以将其命名为"不完整","待定"和"已确认".

在此输入图像描述

有没有办法这样做而不改变在模型中表示booking_status的方式?

ruby ruby-on-rails filter activeadmin

5
推荐指数
1
解决办法
3673
查看次数

活动管理员多选过滤器

我希望在管理页面上为用户显示一个过滤器,以显示同时具有Subject_A和Subject_B的用户。

使用下面的代码行,我已经能够筛选出具有Subject_A或Subject_B或两者兼有的用户。

filter :universities, as: :select, multiple: true
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使用Active Admin创建过滤器,以过滤仅具有Subject_A Subject_B的用户?

postgresql ruby-on-rails activeadmin

5
推荐指数
2
解决办法
2668
查看次数

按模型与特定属性的关联计数

说我有两个型号Users,并Appointments在用户的has_many约会.

约会可以有两种不同的类型:typeAtypeB.

如何编写查询以按照他们的typeB 约会数量对用户进行排序?

我查看了counter_cache,但似乎只计算了关联的数量(因此在这种情况下是用户可以拥有的约会数),并且不允许计算特定类型的约会.

ruby postgresql activerecord ruby-on-rails

2
推荐指数
1
解决办法
1313
查看次数