我为ROLES(User表中的field_name)设置了常量。我试图让数组中的员工'或[2]成为表单中的默认单选按钮值,这是一个绝对值 - 如果将来添加新角色,它就不会#39 ; t影响这一点。
User.rb
class User < ActiveRecord::Base
# -- Constants ------------------------------------------------------------
ADMIN = 'admin'
MANAGER = 'manager'
EMPLOYEE = 'employee'
ROLES = [ADMIN, MANAGER, EMPLOYEE]
end
_form.html.haml
- if @user && current_user.is_admin?
= form.radio_button :role, (User.non_admin_roles), checked: true
User.rb上的non_admin_roles
def self.non_admin_roles
User::ROLES.select { |r| r != ADMIN }
end
如何选择&#39;员工&#39;要检查的价值?我可以在user_controller
中设置它,但如果可能的话,我更愿意在_form中设置它。
def new
@user.role = User::ROLES[2]
end