[当我用'test'搜索用户时,由于category
是整数,它给了我Postgres错误。
Start GET“ / admin / user?model_name = user&utf8 =%E2%9C%93&query = test”对于:: 1在2020-02-21 17:43:44 -0500通过RailsAdmin :: MainController#index作为HTML进行处理参数:{“ model_name” =>“ user”,“ utf8” =>“√”,“ query” =>“ test”}ActiveRecord :: StatementInvalid-PG :: InvalidTextRepresentation:错误:整数的无效输入语法:“ test”第1行:... users.name ILIKE'%test%')或(users.category IN('test'))O ...
我没有category
作为模型的配置字段。
class User < ApplicationRecord
include RailsAdminUser
module RailsAdminUser
extend ActiveSupport::Concern
included do
rails_admin do
list do
fields :id, :email, :name, :company, :sign_in_count, :current_sign_in_at, :current_sign_in_ip
end
我找不到要从其要搜索的字段中排除category
的方法。我可以将该字段保留在搜索范围之外。似乎用每个字段构造一个查询。我试图隐藏category
字段,但是没有用。
list do
configure :category do
hide
end
字段文档:https://github.com/sferik/rails_admin/wiki/Fields
完整文档:https://github.com/sferik/rails_admin/wiki
rails_admin 1.4.2
我尝试过
list do
field :category do
visible false
filterable false
end
但是没用。
以前的开发人员有
config\initializers\rails_admin_reload.rb
Rails.application.config.to_prepare do
RailsAdmin::ApplicationController.class_eval do
before_action :reload_rails_admin, if: Rails.env.development? # Reloading RailsAdmin Config Automatically
def reload_rails_admin
RailsAdmin::Config.reset
load("#{Rails.root}/config/initializers/rails_admin.rb")
我添加了
class User < ApplicationRecord
rails_admin do
xxx
end
和
module RailsAdminUser
extend ActiveSupport::Concern
included do
rails_admin do
xxx
甚至没有抛出错误,因此甚至没有读取那些文件或方法。我假设他们想在任何更改时重新加载Rails Admin配置,但是它似乎也丢弃了所有模型配置!我注释了before_action
,它起作用了。
我也添加了
list do
field :category do
visible false
searchable false
end
Rails Admin似乎在缓存模型的配置,因此每当更改配置(例如searchable true => false
)时,都必须重新启动服务器。非常烦人。