【发布时间】:2016-05-14 05:59:26
【问题描述】:
我正在尝试生成一个随机的 4-5 字母数字字符串来替换标准用户 ID,我一切正常,除了每次刷新它生成的页面并替换字符串时。我已经尝试过 before_save 和 before_create 但两者似乎都在这里不起作用。
我的模特:
class Admin < ActiveRecord::Base
before_create :admin_ident
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable, :confirmable, :lockable, :timeoutable
validates_uniqueness_of :admin_ident
def admin_ident
self.admin_ident = SecureRandom.hex(2).upcase
end
end
我的设计注册控制器:
class Admin::Admins::RegistrationsController < Devise::RegistrationsController
private
def sign_up_params
params.require(:admin_admin).permit(:email, :password, :password_confirm, :admin_ident, :f_name, :m_name, :l_name, :dob, :street_number, :street_name, :unit_apt,
:quadrant, :city, :province, :postal_code, :home_tel, :moibile_tel, :office_tel, :office_ext, :company_email,
:position, :start_date, :end_date, :quit, :resigned, :terminated_cause, :terminated_wo_cause, :medical_leave,
:leave_of_abscense, :dl_number, :dl_class, :expiry, :conditions, :sl_number, :sl_certs, :issued, :expires, :emc_1_name,
:emc_1_tel, :emc_1_relationship, :emc_2_name, :emc_2_tel, :emc_2_relationship)
end
def account_update_params
params.require(:admin_admin).permit(:email, :password, :password_confirm, :current_password, :admin_ident, :f_name, :m_name, :l_name, :dob, :street_number, :street_name, :unit_apt,
:quadrant, :city, :province, :postal_code, :home_tel, :moibile_tel, :office_tel, :office_ext, :company_email,
:position, :start_date, :end_date, :quit, :resigned, :terminated_cause, :terminated_wo_cause, :medical_leave,
:leave_of_abscense, :dl_number, :dl_class, :expiry, :conditions, :sl_number, :sl_certs, :issued, :expires, :emc_1_name,
:emc_1_tel, :emc_1_relationship, :emc_2_name, :emc_2_tel, :emc_2_relationship)
end
def set_admin
@admin = Admin.find_by_admin_ident(params[:id])
end
end
我的 Routes.rb 文件:
## Namespace Resources
namespace :admin do
devise_for :admins, controllers: {
:registrations => 'admin/admins/registrations',
:sessions => 'admin/admins/sessions',
:passwords => 'admin/admins/passwords',
:confirmations => 'admin/admins/confirmations',
:unlocks => 'admin/admins/unlocks'
}
resources :admin_static
end
## Devise Scopes
devise_scope :admin do
authenticated do
root to: 'admin/admin_static#home', as: 'admin_authenticated_root'
end
end
不知道我哪里出错了..任何帮助都会很棒!
编辑 1:
我正在尝试编辑 admin/admin_static#home 页面
【问题讨论】:
-
你在刷新什么页面?
-
我会编辑但我正在刷新 admin/admin_static#home
-
它本质上只是一个登录后的静态登陆页面
-
你为什么要这样做?你想达到什么目标?
-
这是一个用于安全/巡逻管理/调度他们登陆的页面将提供每日更新但现在它是静态的 b2b 应用程序
标签: ruby-on-rails ruby postgresql ruby-on-rails-4 model-view-controller