Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 接受非http://或https://链接的url_字段_Html_Ruby On Rails_Ruby - Fatal编程技术网

Html 接受非http://或https://链接的url_字段

Html 接受非http://或https://链接的url_字段,html,ruby-on-rails,ruby,Html,Ruby On Rails,Ruby,我已尝试在表单中使用url\u字段标记 我应该能够输入非http://URL,例如我需要输入www.google.com。但是rails url_字段不允许这样做 有什么办法吗 这是我当前的设置: <%= f.url_field :english_link, :class => "form-control", :placeholder =>"Type your message", :rows => "4", maxlength: 130, spellcheck: tru

我已尝试在表单中使用
url\u字段
标记

我应该能够输入非
http://
URL,例如我需要输入
www.google.com
。但是rails url_字段不允许这样做

有什么办法吗

这是我当前的设置:

<%= f.url_field :english_link,  :class => "form-control", :placeholder =>"Type your message", :rows => "4", maxlength: 130, spellcheck: true %>

我检查了rubular.com中的正则表达式是否有效,它是否有效

模式将在浏览器端进行评估。不错的解决方案,但它不会在任何地方都起作用(取决于浏览器)。不确定正则表达式是否与Ruby的语法完全相同,也许您应该交叉引用taht。如果正则表达式遵循所需的语法,请检入HTML输出(也许您应该将//替换为“”)


在您的模型中,例如
Posts.rb
假设它包含字段
english\u链接

因此,在您的模型
Post.rb
中,您可以执行如下检查:

validates_format_of : english_link, :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix
validates_format_of : english_link, :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix