如何在rails_admin中覆盖文本字段到textarea

时间:2015-02-24 12:37:20

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

我第一次尝试自定义rails_admin,默认情况下,我想要text field转换textarea。在模型中,我将数据类型设为string那么是否可以显示textarea

配置/初始化/ rails_admin.rb

config.model Product do
    list do
      exclude_fields :id, :created_at, :updated_at
    end
    create do
     ......
     configure :description do
        partial 'my_partial_file' # to override field I have created partial file
      end
     .....
    end

  end

视图/ rails_admin /主/ _my_partial_file.html.haml

= form.send field.view_helper, field.method_name, field.html_attributes.reverse_merge({ value: field.form_value, checked: field.form_value.in?([true, '1']), class: 'form-control', required: field.required})

我尝试html_attributes rows: 50, cols: 60也试图申请custom_css,但没有帮助。请指导我哪里弄错了?如果可能的话,请让我理解这个_my_partial_file

的语法

修改 如果我做这样的事情,那么我可以得到textarea

field :description, :text do # use second parameter to set field type
  required true        
  #partial 'my_partial_file'
end

但是,如果我渲染部分,则再次显示text_field。 :(我希望text_area +部分文件也应该呈现,因为它包含其他要处理的代码。

1 个答案:

答案 0 :(得分:3)

我已经解决了这个问题。我想删除这个问题但后来意识到,如果将来有人遇到同样的问题,那么我的解决方案可以得到帮助。

我在 _my_partial_file 中所做的更改是:

= form.text_area field.method_name, field.html_attributes.reverse_merge({ value: field.form_value, checked: field.form_value.in?([true, '1']), class: 'form-control', required: field.required})
........ # other piece of code

并在 config / initializer / rails_admin.rb 中保留代码:

   create do
     ......
     configure :description do
        partial 'my_partial_file' 
      end
     .....
    end

我从这里得到了参考:https://www.omniref.com/ruby/gems/obitum-rails_admin/0.0.5/files/app/views/rails_admin/main/_form_text.html.haml#line=5Wayback link

http://ruby-doc.org/gems/docs/r/rails_admin_settings-0.8.0/app/views/rails_admin/main/_setting_value_html_haml.html

(注意:链接已死。这可能与旧版本的文件相同:https://github.com/rails-admin/rails_admin_settings/blob/v0.8.0/app/views/rails_admin/main/_setting_value.html.haml