2011-11-06 83 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