如何在 rails_admin 中将文本字段覆盖到文本区域
How to override text field to textarea in rails_admin
我第一次尝试自定义 rails_admin,默认情况下我得到 text field
,我想将其转换为 textarea
。在模型中,我将数据类型指定为 string
那么是否可以显示 textarea
?
config/initializer/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
views/rails_admin/main/_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 + 部分文件也应该呈现,因为它包含其他要处理的代码。
我已经自己解决了这个问题。我想删除这个问题,但后来意识到,如果将来有人遇到同样的问题,那么我的解决方案会有所帮助。
我在 _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=5 (Wayback link)
和
(注意:link 已死。这可能与旧版本的文件相同:https://github.com/rails-admin/rails_admin_settings/blob/v0.8.0/app/views/rails_admin/main/_setting_value.html.haml )
我第一次尝试自定义 rails_admin,默认情况下我得到 text field
,我想将其转换为 textarea
。在模型中,我将数据类型指定为 string
那么是否可以显示 textarea
?
config/initializer/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
views/rails_admin/main/_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 + 部分文件也应该呈现,因为它包含其他要处理的代码。
我已经自己解决了这个问题。我想删除这个问题,但后来意识到,如果将来有人遇到同样的问题,那么我的解决方案会有所帮助。
我在 _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=5 (Wayback link)
和
(注意:link 已死。这可能与旧版本的文件相同:https://github.com/rails-admin/rails_admin_settings/blob/v0.8.0/app/views/rails_admin/main/_setting_value.html.haml )