- 浏览: 2072254 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
对于Rails而言,主流方式应该是使用google库的插件geoip
github地址如下
require 'geoip' GeoIP.new('GeoLiteCity.dat').country('www.atlantis.sk') => ["www.atlantis.sk", "217.67.18.26", "SK", "SVK", "Slovakia", "EU", "02", "Bratislava", "", 48.15, 17.1167, nil, nil, "Europe/Bratislava"] Returned values are the requested hostname, the IP address as a dotted quad, Maxmind's country code, the ISO3166-1 country code, the ISO3166-2 country code, the ISO3166 country name, and the continent code. GeoIP.new('GeoCity.dat').city('github.com') => ["github.com", "207.97.227.239", "US", "USA", "United States", "NA", "CA", "San Francisco", "94110", 37.7484, -122.4156, 807, 415, "America/Los_Angeles"] Returned values are the country values followed by region or state name, city name, postal_code/zipcode, latitude, longitude, USA DMA code, USA area code, timezone name. Sorry it's not a Hash... historical. GeoIP.new('GeoIPASNum.dat').asn("www.fsb.ru") => ["AS8342", "RTComm.RU Autonomous System"]
另外一个 geo_ip
使用如下:
GeoIp.geolocation(ip_address)
# 209.85.227.104 = google.be (US) GeoIp.geolocation('209.85.227.104') #returns: { :status =>"OK", :ip =>"209.85.227.104" :country_code =>"US", :country_name =>"United States", :region_code =>"06", :region_name =>"California", :city =>"Mountain View", :zip_postal_code =>"94043", :latitude =>"37.4192", :longitude =>"-122.057" }
geokit是一个关于地理的工具,比如根据经纬度确定城市和距离之类
#Find near latitude and longitude: Store.find(:all, :origin =>[37.792,-122.393], :within=>10) #Find near an address: Store.find(:all, :origin=>'100 Spear st, San Francisco, CA', :within=>10) #Order by distance from the center of a zipcode: Store.find(:all, :origin=>'94117', :within=>10, :order=>'distance asc') #Combine distance conditions with regular conditions Store.find(:all, :origin=>'94117', :within=>10, :conditions=>{:store_type=>'CAFE'})
一个是通过网络的IP查询API,这个办法IP库更新比较快。通用的库有几个比如google。
xml处理页面完全可以通过nokogiri等专门处理工具代替
提供IP地址查询的API很多比如网易
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址
require 'net/http' require 'rexml/document' include REXML class MapsController < ApplicationController def index @location = locateIp() end def locateIp #ip = "123.123.123.123"; ip = request.remote_ip ips = ip.to_s url = "http://ipinfodb.com/ip_query.php?ip="+ips+"&timezone=false" xml_data = Net::HTTP.get_response(URI.parse(url)).body xmldoc = REXML::Document.new(xml_data) # Now get the root element root = xmldoc.root city = "" regionName = "" countryName = "" # This will take country name... xmldoc.elements.each("Response/CountryName") { |e| countryName << e.text } # Now get city name... xmldoc.elements.each("Response/City") { |e| city << e.text } # This will take regionName... xmldoc.elements.each("Response/RegionName") { |e| regionName << e.text } ipLocation = city +", "+regionName+", "+countryName return ipLocation end #end of method locateIp end
发表评论
-
Destroying a Postgres DB on Heroku
2013-04-24 10:58 927heroku pg:reset DATABASE -
VIM ctags setup ack
2012-04-17 22:13 3255reference ctags --extra=+f --e ... -
alias_method_chain方法在3.1以后的替代使用方式
2012-02-04 02:14 3287alias_method_chain() 是rails里的一个 ... -
一些快速解决的问题
2012-01-19 12:35 1470问题如下: 引用Could not open library ... -
API service 安全问题
2011-12-04 08:47 1379这是一个长期关注的课题 rest api Service的 ... -
Module方法调用好不好
2011-11-20 01:58 1344以前说,用module给class加singleton方法,和 ... -
一个ajax和rails交互的例子
2011-11-19 01:53 1903首先,这里用了一个,query信息解析的包,如下 https: ... -
Rails 返回hash给javascript
2011-11-19 01:43 2272这是一个特别的,不太正统的需求, 因为,大部分时候,ajax的 ... -
关于Rubymine
2011-11-18 23:21 2262开个帖子收集有关使用上的问题 前一段时间,看到半价就买了。想 ... -
ruby中和javascript中,动态方法的创建
2011-11-18 21:01 1234class Klass def hello(*args) ... -
textmate快捷键 汇总
2011-11-16 07:20 8138TextMate 列编辑模式 按住 Alt 键,用鼠标选择要 ... -
Ruby面试系列六,面试继续面试
2011-11-15 05:55 2018刚才受到打击了,充分报漏了自己基础不扎实,不肯向虎炮等兄弟学习 ... -
说说sharding
2011-11-13 00:53 1481这个东西一面试就有人 ... -
rails面试碎碎念
2011-11-12 23:51 1939面试继续面试 又有问ru ... -
最通常的git push reject 和non-fast forward是因为
2011-11-12 23:29 17209git push To git@github.com:use ... -
Rails 自身的many to many关系 self has_many
2011-11-12 01:43 2731简单点的 #注意外键在person上people: id ... -
Rails 3下的 in place editor edit in place
2011-11-12 01:20 945第一个版本 http://code.google.com/p ... -
Heroku 的诡异问题集合
2011-11-11 07:22 1691开个Post记录,在用heroku过程中的一些诡异问题和要注意 ... -
SCSS 和 SASS 和 HAML 和CoffeeScript
2011-11-07 07:52 12952Asset Pipeline 提供了内建 ... -
Invalid gemspec because of the date format in specification
2011-11-07 02:14 2115又是这个date format的错误。 上次出错忘了,记录下 ...
相关推荐
在Rails中,可以使用第三方库如`gem 'recaptcha'`来集成谷歌的reCAPTCHA服务,或者创建自定义的验证码生成器,通过随机字符或图片实现。 4. **数据查询**:Rails的ActiveRecord层提供了强大的查询接口,如`where`、...
通过以上步骤,你可以在Rails应用中实现一个基本的验证码功能。如果你有“type-windows.xml”这样的配置文件,可能需要根据文件内容调整验证码的字体设置,以适应Windows环境下的显示效果。对于初学者来说,阅读和...
### Rails 101 入门电子书知识点详解 #### 一、简介 ...通过以上内容的学习,初学者可以全面掌握Ruby on Rails的基础知识,包括环境搭建、基本操作、高级特性等,为后续更深入的学习打下坚实的基础。
本压缩包中的"web开发之rails最新调试通过购物车代码"是关于使用Rails进行Web应用开发的一个实例,特别是针对购物车功能的实现。 购物车是电商网站的核心部分,它允许用户选择商品并保存这些选择以便后续购买。在...
作者特别提到了“CRUD懶人大法Scaffold”,它是一种通过Rails自动生成代码的方式来快速搭建基本的CRUD操作,这大大简化了开发流程,使得开发者可以将更多的精力放在业务逻辑的实现上。 此外,书中还介绍了一些Rails...
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
### Rails 101S: 初学者必备的Ruby on Rails 宝典 #### Introduction: 深入了解Ruby on Rails 《Rails 101S》是一本为Ruby on Rails初学者准备的手册,旨在帮助新手快速入门并掌握基本的开发技能。本手册将从最...
本书通过构建一个面向Ruby社区的社交网络平台——RailsSpace,来帮助读者掌握Ruby on Rails的核心概念和技术。本书不仅适合初学者,也适合有一定基础并希望深入了解Rails框架的开发者。 #### 二、基础知识篇 #####...
- 引擎挂载(Engine Mounting)是指将引擎组件整合进主Rails应用中的过程,通过定义挂载点来实现。 3. 组件化与Rails基础: - 本书假设读者已经掌握Ruby和Rails基础知识,包括Rails 2等基础知识,不包含这些内容...
这一章节将介绍如何在Rails应用中集成Ajax技术,实现更加交互式的用户体验。同时,还将探讨Web 2.0的概念,包括社会化网络、用户生成内容和实时数据流等。 #### 8. Protective Measures(防护措施) 网络安全是...
在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、...通过深入学习和实践,你将能够利用这个强大的工具构建出功能强大的Web应用程序。无论是初学者还是经验丰富的开发者,Aptana+Rails都会是一个理想的选择。
单元测试和功能测试是Rails中两种主要的测试类型,它们在目的、范围和实现方式上有所不同。本文将详细探讨Rails中单元测试和功能测试的区别,并提供实际代码示例。 单元测试和功能测试是Rails测试策略的两个重要组成...
在Ruby on Rails中,开发者可以快速构建功能丰富的动态网站,因为它提供了大量的内置功能和库,如数据库连接、ORM(对象关系映射)系统ActiveRecord、模板引擎ActionView以及路由系统ActionController等。...
Struts2是Java平台上的一款MVC框架,它的国际化功能主要通过`ResourceBundle`和`ActionSupport`类来实现。以下是Struts2国际化的基本步骤: 1. **创建资源文件**:首先,你需要创建一个或多个`.properties`文件,...