2011-11-06 116 views
0

剛剛成立ActiveAdmin沒有任何真正的問題,但是當我到任何編輯/創建形式,我得到一個小問題:編輯ActiveAdmin驗證

我有一個名爲「shortcut_url」爲我的用戶的屬性,它僅僅定義用戶頁面的路徑,例如example.com/userjohn,其中userjohn是快捷方式的網址。 Activeadmin將該屬性識別爲URL,並且不會讓我創建用戶驗證「userjohn」是否使用有效的URL。我讚揚ActiveAdmin的智能足以捕捉屬性名稱中的「url」,但在這種情況下,我寧願不進行此驗證。有沒有人知道我可以找到一個地方來覆蓋此驗證?我戳穿了文檔,但無濟於事...任何幫助將不勝感激!

回答

3

我認爲它實際上是決定輸入類型的formtastic。要覆蓋驗證,您只需更改輸入類型即可。我有一個名爲「網站」(它一直說我的網址不被允許)的問題。

這裏的應用程序/管理/ user.rb的例子:

form do |f| 
    f.inputs do 
     f.input :name 
     f.input :website, :as => :string # sets the input type to type="text" 
    end 
    f.buttons 
    end 

它實際上只是附帶內置有active_admin一些風格。我知道他們確實對type =「url」和type =「email」進行了驗證。有可能是一個更好的方法(禁用樣式表中的樣式),但這會讓你走。

瑞安

+0

在編的上面,這是由於Rails 3有HTML5的控制。這是我們看到的實際彈出窗口。通過改變類型,它使得它不再是html5。有一種方法可以在表單中禁用html5,我還沒有用formtastic來查看它。 – ryanjones

+0

我再次。以下是如何禁用表單或字段上的html5驗證的方法:http://stackoverflow.com/questions/7065917/add-attribute-to-rails-helper-text-field – ryanjones