首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Activeadmin窗体

Activeadmin窗体
EN

Stack Overflow用户
提问于 2015-05-30 21:58:26
回答 1查看 296关注 0票数 0

我只想问一下,有没有办法在activeadmin上添加一个文本字段,比如在User model上。此文本域不是我的用户模型的属性。

app/admin/user.rb

代码语言:javascript
复制
ActiveAdmin.register User do

# See permitted parameters documentation:
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
#
permit_params :email, :password, :password_confirmation, :TierID, :RoleID, :FirstName, 
              :MiddleName, :LastName, :MobileNumber, :Company, :Gender, :Birthdate,
              :FacebookID, :TwitterID, :WorkingStatus, :Occupation, :CreatedBy, :MerchantID

#
# or
#
# permit_params do
#   permitted = [:permitted, :attributes]
#   permitted << :other if resource.something?
#   permitted
# end

  index do
    selectable_column
    id_column
    column :email
    column :RoleID
    column :TierID
    column :FirstName
    column :MiddleName
    column :LastName
    column :MobileNumber
    actions
  end




before_create do |user|
  user.CreatedBy = current_admin_user.email
end

after_create do |user|

  roleid = Role.find_by(Description: "merchant").RoleID
  roleuser = User.last
  if roleuser.RoleID == roleid then
    begin
      mlastid = Merchant.last.id
      ulastid = User.last.id
      merchantid = mlastid + 1
    rescue
      merchantid = 1
    end
    m = Merchant.new
    m.MerchantID = merchantid
    m.UserID =  ulastid

    m.save
  else
    roleuser.TierID = 1
    roleuser.update(id: roleuser.id)


  end



end


form do |f|
    f.inputs "User Details" do
      #role = Role.find(1)
      role = Role.all
      f.input :email
      f.input :password
      f.input :password_confirmation
 #options_for_select(@user.map{ |m| [m.FirstName, m.id]}), :include_blank => true %>
      f.input :RoleID, as: :select, :collection => role.map { |r| [r.Code, r.id]}
      f.input :FirstName
      f.input :MiddleName
      f.input :LastName
      f.input :MobileNumber
      f.input :Company
      f.input :Gender
      f.input :Birthdate, :start_year => Time.now.year - 100, :end_year => Time.now.year
      f.input :FacebookID
      f.input :TwitterID
      f.input :WorkingStatus
      f.input :Occupation

    end
    f.actions
  end




end

除了我的问题之外,添加的文本字段是其他模型的属性。谢谢。干杯!

EN

回答 1

Stack Overflow用户

发布于 2015-05-30 23:13:23

首先,如果你想添加一个模型中没有的字段,那么你可以在你的用户模型中使用attr_accessor。

代码语言:javascript
复制
attr_accessor :field_name

然后,您可以在活动的管理视图中使用此字段。

此外,您在最后提到,添加的文本字段是其他模型的属性-所以在这种情况下,您是否希望更新关联模型的列,这可以使用accept_nested_attributes来实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30547070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档