在Rails管理员中编辑视图字段

时间:2015-11-11 03:02:08

标签: ruby-on-rails ruby rails-admin

我正在使用' Rails管理员'在我的申请中。在我的初始化程序中,我在&rbsp; rails_admin.rb':

中有以下内容
config.model "Player" do 
  edit do
    :name
    :team
    :shooting_percentage
  end
end

这为我提供了Rails管理员编辑视图中的以下字段:名称,团队和拍摄百分比。

我想在Rails Admin for Player中为编辑表单添加两个字段,但我不想将它们作为该模型(或任何模型)的属性。我想将镜头和目标添加为表单字段。

我想添加这两个表单字段的原因是我可以使用它们来计算' shooting_percentage' Player上的属性值。

Rails管理员是否有办法让表单上的字段不是模型上的字段?此外,如果可以,有没有办法使用输入到这些表单字段中的值来计算实际模型字段的值(拍摄百分比)?

1 个答案:

答案 0 :(得分:1)

我将如何做到这一点:

class Player
  include Mongoid::Document
  field :name,              type: String
  field :team,              type: String
  field :percentage,    type: Float    
  attr_accessor :shots, :goals

  before_save do
    self.percentage = shots.to_f / goals.to_f
  end

  rails_admin do
    configure :percentage do
      read_only true
    end
    edit do
      include_all_fields
      field :shots, :integer do
        html_attributes min: 1, required: true
        help 'number of shots'
      end
      field :goals, :integer do
        html_attributes min: 1, required: true
        help 'number of goals'
      end
    end
  end

end