我在我的模型中使用这个正则表达式来验证用户提交的URL。我不想强制用户输入http部分,但如果它不存在,我想自己添加。validates:url,:format=>{:with=>/^((http|https):\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+).[a-z]{2,5}(:[0-9]{1,5})?(\/.)?$/ix,:message=>"isnotvalid"}知道我该怎么做吗?我对验证和正则表达式的经验很少.. 最佳答案 如果它不存在,使用前置过滤器添加它:before_validation:sma
$param=k.chomp.split("\t")如果$param是一个数组,我如何找到它的长度?实际上当我写的时候puts$param.class我得到了像Array这样的o/p。现在我如何找到这个数组的长度?我尝试了$param.length但它不起作用。 最佳答案 引用Array类k="This\tis\tjust\ttesting"$param=k.chomp.split("\t")array_length=$param.length#or$param.sizeputs"lengthof$paramis:#{array_l
我该如何排序:arr=["aaa","aa","aaaa","a","aaaaa"];进入这个?arr=["a","aa","aaa","aaaa","aaaaa"]; 最佳答案 arr=arr.sort_by{|x|x.length}或者在1.8.7+中:arr=arr.sort_by(&:length) 关于ruby-如何按长度对Ruby字符串数组进行排序?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow
我正在寻找一种方法来可靠地从Ruby中的URL字符串中提取主机名。例如http://www.mglenn.com/directory=www.mglenn.com或者http://www.mglenn.com?param=x=www.mglenn.com 最佳答案 你可以尝试这样的事情:require'uri'myUri=URI.parse('http://www.mglenn.com/directory')printmyUri.host#=>www.mglenn.com 关于从URL字
ruby新手,我如何从url中获取文件扩展名:http://www.example.com/asdf123.gif此外,我将如何格式化此字符串,在C#中我会这样做:string.format("http://www.example.com/{0}.{1}",filename,extension); 最佳答案 使用File.extnameFile.extname("test.rb")#=>".rb"File.extname("a/b/d/test.rb")#=>".rb"File.extname("test")#=>""File.ex
我正在开发一个允许用户创建帐户的网站。创建用户时的属性之一是用户个人网站。当我尝试像这样使用用户网站时:生成的url是:http://0.0.0.0:3000/www.userswebsite.com我认为这是因为link_to的@user部分...但是我怎样才能让它链接到www.userwebsite.com? 最佳答案 如果协议(protocol)不存在,您可以在url前加上协议(protocol):moduleUrlHelperdefurl_with_protocol(url)/^http/i.match(url)?url:"
我有一个url(例如http://www.youtube.com/watch?v=og9B3BEnBHo),我想向它添加一个参数(wmode=opaque),以便它:http://www.youtube.com/watch?v=og9B3BEnBHo&wmode=opaque谁能告诉我使用哪个函数来完成这项工作? 最佳答案 require'uri'uri=URI.parse("http://www.youtube.com/watch?v=og9B3BEnBHo")uri.query=[uri.query,"wmode=opaque"
在我的routes.rb我有:get"projects/:category_id"=>"projects#index"当我编写projects_path(1)时,生成的URL是/projects.1而不是/projects/1。你知道为什么会这样吗?这是rakeroutes的输出:GET/projects/:category_id(.:format)projects#index 最佳答案 projects_path是索引,它只接受一个参数:格式。你想要project_path(1) 关于
我在我的route定义了一个资源。resources:categories我的类别Controller中有以下内容:defshow@category=Category.find(params[:id])respond_todo|format|format.json{render:json=>@category}format.xml{render:xml=>@category}endendController操作适用于json和xml。但是我不希望Controller响应html格式的请求。我怎样才能只允许json和xml?这应该只发生在表演Action中。实现此目标的最佳方法是什么?还
我有一张图片,其中包含载波上传:Image.find(:first).image.url#=>"/uploads/image/4d90/display_foo.jpg"在我看来,我想为此找到绝对url。附加root_url导致双/。root_url+image.url#=>http://localhost:3000//uploads/image/4d90/display_foo.jpg我不能使用url_for(据我所知),因为要么允许传递路径,或选项列表以标识资源和:only_path选项.因为我没有可以通过“controller”+“action”识别的资源,所以我不能使用:only