2015-05-30 35 views
0

只想詢問是否有方法在activeadmin上添加文本字段,例如在用戶模型上。此文本字段不是我的用戶模型的屬性。Activeadmin表格

應用程序/管理/ user.rb

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 

附加到我的問題,所添加的文本字段的其他模型的屬性。謝謝。乾杯!

回答

0

首先,如果你想添加一個不存在於你的模型中的字段,那麼你可以在你的用戶模型中使用attr_accessor。

attr_accessor :field_name 

然後,您可以在活動管理視圖中使用此字段。

此外,您在最後提到添加的文本字段是其他模型的屬性 - 因此在這種情況下,是否要更新使用accept_nested_attributes可以實現的關聯模型列。

+0

我用「accep_nested_attributes_for」,那麼什麼都不會發生。只是沒有運行時錯誤。我還添加了f.inputs「Branch」,因爲:[:merchant_store,f.object.merchant_store] do | m | m.input:StoreCode end 顯示我添加的文本字段,但它不起作用。 – ana