我正在使用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)
这是我重置用户密码的链接
但是当我打开链接并更新密码时,我收到重置密码令牌无效.
对于用户模型,我有一个过滤器来检查用户的预订状态,该状态由整数值(0,1或2)表示.
User ActiveAdmin索引页面上的过滤器使用以下代码实现:
filter :booking_status, as: :select
Run Code Online (Sandbox Code Playgroud)
但是,这会导致下拉选项为0,1或2.
如果管理员用户从下拉列表中选择它们,我希望自己可以将其命名为"不完整","待定"和"已确认".
有没有办法这样做而不改变在模型中表示booking_status的方式?
我希望在管理页面上为用户显示一个过滤器,以显示同时具有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的用户?
说我有两个型号Users,并Appointments在用户的has_many约会.
约会可以有两种不同的类型:typeA和typeB.
如何编写查询以按照他们的typeB 约会数量对用户进行排序?
我查看了counter_cache,但似乎只计算了关联的数量(因此在这种情况下是用户可以拥有的约会数),并且不允许计算特定类型的约会.