ruby-on-rails - 如何在rails_admin中将文本字段覆盖为textarea

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

我第一次尝试自定义rails_admin,默认情况下我得到了我想要在textarea中转换的text field。在模型中,我将数据类型指定为 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)

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)

关于ruby-on-rails - 如何在rails_admin中将文本字段覆盖为textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28695991/

相关文章:

javascript - 当按下退格键/删除键时,如何使用 Angularjs 重置输入字段?

java - 使用 Java 反射显示字段类型

ruby - Watir/Ruby HTML 实体

ruby - 为什么在 Net::HTTP 上使用 Faraday?

c#泛型类无法获取属性值

ruby-on-rails - redirect_to 在救援 block 中的行为

mysql - PostgreSQL 到 MySQL 的转换(Ruby on Rails)

css - 使用 Ruby On Rails twitter gem 从我的 Twitter 自定义 Twitter Feed

ruby-on-rails - 将 Rail4 Assets 管道获取到 heroku

ruby - Tmux 不会从 Cucumber 场景中运行 - 产生错误 'not a terminal'