
rails
文章平均质量分 82
ruby小酱
爱好技术 崇尚Geek
展开
-
Raills与安全
简介作为一个 Web 开发者,经常要面临各种安全问题( SQL 注入,跨站攻击等)。虽然 Rails 默认帮我们做了很多防护,但是如果新手不了解机制,修改默认等配置,可能会导致比较严重的安全隐患。 我们来一个一个介绍下:SQL InjectionSQL 注入至今都是非常常见的 Web 安全漏洞。主要原理是伪造特殊的输入作为参数传给 Web 应用程序,而这些输入大都是 SQL 中都一些组转载 2015-04-03 19:29:54 · 274 阅读 · 0 评论 -
理解 Ruby Symbol,第 1 部分
理解 Ruby Symbol,第 1 部分使用 Symbol简介: Ruby 是一个跨平台完全面向对象的脚本语言,构建在 Ruby 之上的 Web 框架Ruby on Rails(ROR) 正在 web 开发领域得到越来越多的认可。ROR 大量使用了 Ruby 语言特性,Symbol 就是其中之一。通过对 Symbol 对象进行较全面的了解,您可以更好地使用 Ruby原创 2015-04-28 22:52:39 · 267 阅读 · 0 评论 -
使用 Ruby 从 Web 提取信息
使用 Ruby 从 Web 提取信息利用 Web 抓取软件和网站 API 实现自动数据提取探索从 Web 提取结构化信息的最新方法。使用 Ruby 脚本示例,作者 M. Tim Jones 演示了抓取 (scraping) 技术和使用 Web API 进行有针对性的数据检索。网站不再单单迎合人类读者。许多站点现在支持一些 API,这些 API 使计算机程序能够获取信息。屏幕抓取 —原创 2015-04-29 10:04:23 · 1207 阅读 · 0 评论 -
理解 Ruby Symbol ,第 2 部分: Symbol 内幕
理解 Ruby Symbol ,第 2 部分: Symbol 内幕本文介绍 Ruby Symbol 的内部实现。结合上篇“理解 Ruby Symbol,第 1 部分:使用 Symbol”,您可以更好地理解并使用 Symbol ,感受 Ruby 的魅力。在上一篇《理解 Ruby Symbol ,第 1 部分:使用 Symbol 》中,我们大致了解了 Symbol,包括 Symbol原创 2015-04-29 09:59:55 · 274 阅读 · 0 评论 -
开发功能时的一般步骤 ------- 要严记
第一步,获取代码pull 最新的代码,在工程下运行测试,确保无问题后再开始开发。如果有问题,立即联系其他人协调解决。# 很多自己写的gem需要更新到最新bundle update # 数据库迁移rake db:migraterake db:migrate RAILS_ENV=test# 自动测试bundle exec rspec spec初步估计开发时原创 2015-05-02 08:24:44 · 275 阅读 · 0 评论 -
使用 Ruby 解析CSV文件&YAML文件
解析CSV图haml (students.csv文件位置在在public/csv_demo/students.csv)[html] view plaincopy.page-model-form .page-admin-form-info .desc 请先下载 CSV 示例文件,按照给定格式填充数据,然后上传导入原创 2015-05-02 09:01:19 · 244 阅读 · 0 评论 -
Ruby 一些常用的细节
1.try 永远不会抛出异常 在 没有的时候 返回 nil [ruby] view plaincopyprovince_id = Province.find_by_name(prov).try(:id) 2.find(:first, :condotions) 方法 不言而与[ruby] view plaincopymob原创 2015-05-02 09:31:10 · 404 阅读 · 0 评论 -
Ruby on rails 实战圣经:Routing 路由
Weeks of programming cansave you hours of planning. – Unknown不同于PHP的路由系统是直接对应于档案的目录结构,一个Web开发框架会将路由功能纳入其中,来获得最大的弹性。也就是您可以指定任意URL对应到任一个Controller的Action。另一方面,我们也不在Views中直接写死URL网址,而是透过Helper辅助方法根据你的路由原创 2015-05-02 09:50:37 · 399 阅读 · 0 评论 -
Ruby on rails 实战圣经:Ruby程序语言入门
Actually, I’mtrying to make Ruby natural, not simple. Ruby is simple in appearance, but isvery complex inside, just like our human body. - Matz, Ruby发明人Ruby是个美丽、灵巧而且方便又实用的程序语言,而Ruby on Rails正是 R原创 2015-05-02 09:54:24 · 258 阅读 · 0 评论 -
rails 中 使用 rabl 来生成 json 的时候 ,一些小技巧
1. 用rails 的 render json: 方法生成的 json字符串 ,缺省是 不带表名的,比如下图:(主表是main_road_speed,子表是 finegrit)而使用rabl 生成的json 是 带表名的,如下图:为了使得这2种方法产生的json 都一致。可以采用下面2种方法:都产生表名。那么就需要to_json 里面进行处理,处理的方法如下:原创 2015-05-02 10:08:51 · 269 阅读 · 0 评论 -
rails自定义校验
当内建的校验 helpers 不能满足项目需求时,可以根据具体需求来编写自己的校验器或者校验方法。其中,当有比较通用的规则需要校验时,优先考虑使用自定义校验器.自定义校验器给需要校验的单独属性添加自定义校验器最便捷的方法是使用 ActiveModel::EachCalidator。这种情况下,自定义校验类必须实现一个 validate_each 方法,它接受三个参数:record,原创 2015-05-02 10:59:14 · 419 阅读 · 0 评论 -
Agile Web Development with Rails第十一章笔记——任务F:Ajax初体验
本章内容:使用局部模版呈现页面布局利用Ajax和RJS动态更新页面利用Script.aculo.us高亮变化隐藏和显示DOM元素测试Ajax更新本章目标:为购物车添加Ajax,把整个购物车显示在商品目录的侧边栏中,而不是独立的页面中,利用Ajax来更新侧边栏中的购物车信息。迭代F1:转移购物车将购物车界面转移到商品目录布局中。目前购物车的显示如下,获取购物车中的原创 2015-05-02 11:05:13 · 220 阅读 · 0 评论 -
Rails3全文检索使用Sunspot gem
Rails3全文检索使用Sunspot gem博客分类: RubyOnRailrails3sunspot 在网站中经常用到全文检索,这样出于使用的方便打算给Everyday也做个全文检索的功能,网上比较了几个全文检索的gem,发现sunspot(内置了solr引擎)比较适合我的需求,并没有用到之前名气稍大的think_sphinx,下面介绍下rails3和Sunsp原创 2015-05-02 11:18:11 · 263 阅读 · 0 评论 -
Ruby on Rails,一对一关联(One-to-One)
在上一篇文章中,我们列举了对象之间可能出现的关联关系。接下来,逐个分析一下每一种关系如何在Ruby on Rails中实现和使用。场景1:一对一关联一般用于一个东西A有且只有一个B,比如 雇员 has_one:电脑 教室 has_one:老师他们的特点是,对象之间存在唯一的拥有关系。如果一个雇员也可以有多台电脑,不过这就不是今天的话题了,那是一对多关系(On原创 2015-05-02 11:40:18 · 267 阅读 · 0 评论 -
Ruby on Rails总结(一)
环境相关:一、命令:1、更新rails的安装版本: gem update rails2、更新版本后rails自动保存升级前的旧版本文件,使用gem cleanup命令删除这些文件3、安装最新版本的Rails后,利用Rake rails:update命令跟新rails在创建应用程序之初加入其中的那些文件4、创建项目 切换到相应的目录,输入命令“rails原创 2015-05-02 11:54:48 · 311 阅读 · 0 评论 -
Ruby on Rails总结(二)
1、link_to()方法 这个方法可以创建指向一个动作的超链接(事实上还含有额外的功能)例如:两个页面之间的跳转功能可以用到此方法,每个页面中都有一个超链接指向对方,如:rails项目中的两个页面模板:hello.html.erb和goobbye.html.erb,这两个文件可以由命令行生成控制器类的时候一并生成(如:在控制台下输入rails generate con原创 2015-05-02 11:56:57 · 218 阅读 · 0 评论 -
Ruby on Rails总结(三)
1、Ruby中将一个字符串的首字母变为大写capitalize()方法 字符串.capitalize 例如:def say_goodmorning(name) result = "good morning #{name.capitalize}" return result;endputs say_goodmorning('li原创 2015-05-02 11:57:50 · 217 阅读 · 0 评论 -
Ruby on Rails总结(四)
1、类 classOrder defself.sayHello end end 定义了ActiveRecord模块中的Base类的子类Order,再类中利用self.方法名定义的方法是类方法,调用的方式为Order. sayHello 从原创 2015-05-02 11:59:56 · 233 阅读 · 0 评论 -
Ruby on Rails总结(五)
1、命令(1)rake db :migrate:redo撤销和重新应用最后一次迁移。 2、数据库相关 如果使用的数据库是sqlite3并且系统是win764位系统,则创建完项目之后要到项目的根目录下的Gemfile.lock文件中将sqlite3 (1.3.8-x86-mingw32)改为sqlite3 (1.3.8-x64-mingw32)因为在win764位系统原创 2015-05-02 12:02:04 · 356 阅读 · 0 评论 -
Ruby on Rails总结(六)
1、Ruby中的数据验证(1)验证非空的文本字段例如:validates:title, :description, :image_url, :presence=>true这个validates是个标准的Rails验证器。它会根据一个或多个条件来验证一个或多个模型字段。:presence:=>true让验证器核实每个已命名的字段都存在,并且其内容不为空。 上述代码原创 2015-05-02 12:02:33 · 251 阅读 · 0 评论 -
Ruby on Rails,使用where方法对持久化对象进行条件查询
原创 2015-05-02 12:08:04 · 266 阅读 · 0 评论 -
试卷的建模和中间表的建模(model)
试卷test_papers integer :teaching_plan_id integer :student_user_id1.app/edu_models/TestPaper.rbclass TestPaper belongs_to :teaching_plan belongs_原创 2015-05-02 08:25:22 · 294 阅读 · 0 评论 -
ruby on rails 的数据库查询方法
a = Category.new(:name => 'Ruby', :position => 1)a.save# save 还有相同方法”save!”# 有无惊叹号的差别在于validate资料验证不正确的动作,# 无惊叹号版本会回传布林值(true或false),有惊叹号版本则是验证错误会丢出例外。b = Category.create(:na原创 2015-05-02 08:35:50 · 496 阅读 · 0 评论 -
Kindeditor for Ruby on Rails 中文文档
Kindeditor是国产的所见即所得javascript富文本编辑器, 访问 http://www.kindsoft.net 获取更多信息. rails_kindeditor可以帮助你的rails程序集成kindeditor,包括了图片和附件上传功能,文件按照类型、日期进行存储。注意: rails_kindeditor ~> v0.3.0 仅支持Rails3.1+!当然,包括Rails3原创 2015-05-02 08:39:55 · 221 阅读 · 0 评论 -
source,through
module ActivityMethods def self.included(base) base.send :include, InstanceMethods base.has_many :activity_memberships base.has_many :members, :through => :activity_membershi原创 2015-05-02 08:45:56 · 256 阅读 · 0 评论 -
Ruby attr_accessible, validates, attr_accessor, cattr_accessor 区别
attr_accessible新建的时候Model里面有一个attr_accessible,从英文全称是attibutes accessible,字面意思是属性可访问比如执行rails g model User name:string email:string,会建立如下的文件并自动添加上attr_accessibleclass User attr_accessib原创 2015-05-02 08:57:25 · 228 阅读 · 0 评论 -
10个最未充分利用的ActiveRecord::Relation法
在这里,我已经收集了十大最未被充分利用的关系方法从该列表中您的阅读喜悦。10. first_or_create 使用 first_or_create[ruby] view plaincopyBook.where(:title => 'Tale of Two Cities').first_or_create 通常情况下,你想找到一个记录的原创 2015-05-02 08:58:55 · 371 阅读 · 0 评论 -
Ruby之 model.new_record? - parsent?
判读对象是否保存/存有数据 http://api.rubyonrails.org/[ruby] view plaincopy@model.new_record? 判读对象是否为空 parsent?[ruby] view plaincopy2.0.0p247 :001 > 'a'.present? => true原创 2015-05-02 09:04:33 · 416 阅读 · 0 评论 -
Ruby 元编程 编写代码的代码
1.Kernel#eval[ruby] view plaincopy2.0.0p247 :428 > array = ['10','20'] => ["10", "20"] 2.0.0p247 :429 > element = '30' => "30" 2.0.0p247 :430 > eval('array ) => ["10", "20",原创 2015-05-02 09:11:28 · 207 阅读 · 0 评论 -
Ruby 元编程 类定义
1.类实例变量 [ruby] view plaincopy2.0.0p247 :342 > class MyClass 2.0.0p247 :343?> @my_var = 1 2.0.0p247 :344?> def self.read 2.0.0p247 :345?> @my_var 2.0.0p247 :346?>原创 2015-05-02 09:12:53 · 185 阅读 · 0 评论 -
Ruby 元编程 代码块
闭包[ruby] view plaincopy2.0.0p247 :133 > def my_method 2.0.0p247 :134?> x="GoodBye" 2.0.0p247 :135?> yield("cruel") 2.0.0p247 :136?> end => nil 2.0.0p247 :137 > x = "He原创 2015-05-02 09:14:53 · 246 阅读 · 0 评论 -
Ruby 元编程 类的真相
什么是对象:对象无非就是一组实例变量外加一个指向其类的引用。对象的方法并不存在与对象本身,而是存在与对象的类中。在类中,这些方法被称为类的实例方法什么是类 : 类无非是一个对象(class 的实例)外加一组实例方法和一个指向其超类的引用。Class类是Module类的子类,因此一个类也是一个模块跟任何其他对象一样,类有自己的方法如new(),这些是Class的实例方法,跟其他类一样,需要引原创 2015-05-02 09:17:32 · 396 阅读 · 0 评论 -
字符串转化为艺术字图片
[+]需求在平时我们有没有这种需求,把一段文字用艺术字显示,并且可以保持成图片例如我们在新浪微博中 所见到的 如:(http://ww1.sinaimg.cn/bmiddle/dd0b97bbjw1e803gixiy6j20c83gvqtp.jpg使用说明使用很简单:在控制台中输入 > ruby 程序文件名 字符文件名即可 如 ruby text-img原创 2015-05-02 09:17:36 · 275 阅读 · 0 评论 -
Devise 给项目添加权限验证系统
[html] view plaincopy在我们之前的文章中我们已经介绍了一些登录和验证授权的解决方案,现在我们来介绍另外一个。最近,在ruby社区Devise越来越广泛的被采用来解决维护权限和验证。Devise源于Warden,而warden是一个基于Rack的验证权限gem,不过,使用devise实际并不需要任何关于warden的知识。 如果你之前有一些其他类似的维护验原创 2015-05-02 09:22:52 · 343 阅读 · 0 评论 -
Ruby on rails 实战圣经:入门导览->Ruby on Rails 简介
Ruby on Rails 简介“Life’s too short tobuild something nobody wants” - Ash Maurya, Running Lean作者Ruby on Rails是一套非常有生产力、维护性高、容易布署的Web开发框架。从一开始不知名的玩具,到现在它已经成为全世界Web应用程序开发的首选框架之一。进入学习的旅程之前,我们先了解为什么它如原创 2015-05-02 09:51:28 · 559 阅读 · 0 评论 -
Ruby on rails 实战圣经:安装Rails开发环境
安装Rails开发环境Give someone aprogram, you frustrate them for a day; teach them how to program, you frustratethem for a lifetime. - David Leinweber在这一章中,我们将介绍如何安装Rubyon Rails的开发环境。开发Rails的环境需要:·原创 2015-05-02 09:52:26 · 218 阅读 · 0 评论 -
Ruby on rails 实战圣经:Rails起步走
Rails起步走There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are n原创 2015-05-02 09:54:23 · 262 阅读 · 0 评论 -
nginx thin 部署rails3程序
安装thin[ruby] view plaincopyprint?gem install thin 运行:[ruby] view plaincopyprint?thin start 测试是否能运行生成配置文件[ruby] view plaincopyprint?原创 2015-05-02 16:10:05 · 268 阅读 · 0 评论 -
Rspec笔记
当我们有这样的需求:一个或者更多的类 拥有同样的行为, 那么可以使用Rspec的 可分享的实例组(a shared example group). 关键词是shared_examples_for 和 it_should_behave_like[ruby] view plaincopyprint?shared_examples_for "Any Pizza"原创 2015-05-02 16:00:58 · 244 阅读 · 0 评论 -
Rails 数据库操作
转载▼ 数据库元被影射成对象(object-relational mapping (ORM)层)Ruby代码tableclass rowobject columnobject attribute class和table的命名对应关系实例:Ruby代码原创 2015-05-02 15:41:43 · 286 阅读 · 0 评论