簡體   English   中英

ActiveAdmin篩選ActiveRecord模型上的浮點字段

[英]ActiveAdmin to filter float fields on ActiveRecord models

我發現ActiveAdmin對於為ActiveRecord模型創建全棕支架非常有用。 但是,我們的模型具有浮點(和一些小數點)列,並且ActiveAdmin無法為其創建過濾器。

例如,

ActiveAdmin.register ForexRate do
  filter :rate, :as => :numeric
end

給我NoMethodError,說

undefined method `rate_gt' for #<MetaSearch::Searches::ForexRate:0x007fa4427bb018>

我在這里做錯了什么? 提前致謝!

PS我已經確認了相同的過濾器適用於整數列。

快速查看源代碼 ,看來您做對了。 我自己做的,沒有問題。 默認情況下,ActiveAdmin應該捕獲浮點並將數字過濾器應用於它們。 您是否嘗試過不指定:as => :numeric並查看是否可行? 您可以確認將字段以浮點數而不是字符串形式存儲在數據庫中嗎? 最后,是否引用確實存在且名稱正確的列?

看起來問題出在我的表中,其rateREAL而不是FLOATDECIMAL(x,y) 將其更改為FLOAT或DECIMAL可以解決此問題。

還有趣的是,當列為REAL或其他無法識別的類型時,ActiveRecord :: Base#inspect變為:

>> ForexRate
=> ForexRate(id: integer, created_at: timestamp, updated_at: timestamp, rate:  , from: string, to:string)

(請注意rate:旁邊的空白:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM