`
文章列表
javascript:var inputs = document.getElementsByTagName('input');Array.forEach(inputs,function(item){if(item.type=='checkbox')item.checked='checked';}); 需要JavaScript1.6的支持
参考链接:http://guides.rubyonrails.org/layouts_and_rendering.html render 如果action中没有调用render、redirect_to、head和method_missing方法中的任何一个,rails默认会去渲染和当前action名字相对应的那个模板。比如一个BooksController里有这样一段代码: def show @book = Book.find(params[:id]) end rails将会在执行完show方法后渲染 app/views/books/show.html.erb 模板。 引用If y ...
原文链接:http://weblog.jamisbuck.org/2007/1/29/testing-your-views 简单的说,就是别用断言来测试你的页面结构。 也就是说,别这么做: #输入框必须在一个table的单元格里 assert_select "table td input[type=text]" #person.name必须在h2标签里 assert_select "h2", person.name 为什么呢?因为你会希望页面(的结构)非常的容易改变(be very fluid)。你会希望改动页面的成本很低以便于你可以毫不犹豫地 ...
参考链接:http://guides.rubyonrails.org/form_helpers.html         http://guides.rubyonrails.org/2_3_release_notes.html         http://stackoverflow.com/questions/742536/rails-nested-object-form-attributes-problem 最基本的form helper是form_tag: <% form_tag do %> For ...
参考链接:http://guides.rubyonrails.org/routing.html 多个简单的RESTful的路由可以这样定义: map.resources :photos, :books, :videos 以上代码相当于: map.resources :photos map.resources :books map.resources :videos 单数形式的Resource: map.resource将生成6个 ...
前面这部分参考自:http://www.letrails.cn/archives/20/ 作者:zhangyuanyi 安装很简单: gem install rspec 如果要在rails里边使用,最好再装一个rspec on rails: gem install rspec-rails RSpec代码用spec命令执行,比如: spec user_spec.rb specdoc参数格式化行 ...
我没事就喜欢拿blog练手,blog简单嘛。 嗯,其实这是一个个人空间,blog只是其中的一个模块,我写的时候就在想,模块一多出来的话,那model目录下的model数量不是很多?对了,看过的rails书籍、guides等材料怎么都没有提到过如何划分模块呢?JE上也许有吧,于是搜索了一下,找到这个:http://www.iteye.com/topic/166325 其中 magicgod 写道2.0已经有了命名空间,例如: ruby script/generate model Admin::User 于是我就按照这种方法给model分了模块,像这样 ruby script/generate ...
记录一些自己的想法,边写边想吧。 这是之前写的一篇东西:从AWDWR中的depot思考软件设计 也许表达得不是很清楚……但我自己确确实实能感觉到自顶向下逐步细化需求的开发方式是很有好处的。 后来回头搜索以前JavaEye上TDD相 ...
今天把blog的body字段通过migration改名为content,然后rake db:migrate,再rake db:migrate RAILS_ENV=test。结果再次运行unit test的时候,居然报这样的错:引用ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'body' in 'field list' 想了半天想不起来除了数据库里还有哪里定义了model的信息。结果跑到rubyonrails的guides上乱翻,看到这么一行: 引用$ script/generate scaffold post titl ...
参考资料:http://guides.rubyonrails.org/migrations.html 一、Migrations: 1、名字: 文件名就是个普通的ruby文件名前面加上时间戳,类名的命名规则跟普通的ruby类没什么两样,只是要把前面的时间戳去掉,比如文件名为20080906120001_add_details_to_products.rb的migration类名应该是AddDetailsToProducts。 rails只把时间戳部分作为识别migration的id,所有执行过的migration的id都将被保存到数据库的schema_migrations表中。在rails ...
引用 In Ruby, private visibility is what protected was in Java. However, you can't have truly private methods in Ruby; you can't completely hide a method. 《The Ruby Way》中第21页 写道private意味着方法只可被当前类或其子类使用,只能通过“函数形式”调用——隐式或显式地将self作为接收方。protected意味着方法只能在当前类中调用,但与private不同,调用时可将非self指定为接收方。 protected主要是用 ...
一般对购物车简单的描述会是这样的(其实就是AWDWR中的那个depot): 一个容器,可以放很多商品,可以随时查看购物车中的商品列表,这个列表能列出商品名称,单个商品购买的数量,商品单价,以及总价格。 我的思考过程是这样的,首先,它是个容器,可以放很多商品,那就是个数组吧,至于数量,查看的时候不是要遍历嘛,顺带计算一下就好。 想了一会,我觉得这种思考习惯,或者说设计过程是属于自底向上的,一开始就脱离上层的需求,去思考最底层的实现。我觉得这样会带来问题。需求是最高层的,而这时候的设计却是最底层的,中间全脱节了。什么?没有脱离需求?没错,这样的做法最终确实能实现一个购物车,没有脱离最终的用户需求 ...
还是记下来吧,之前花了很大力气安装成功过,前几天重装系统,Ruby和Rails又没了。 主要是参考robbin的这个帖子:http://www.iteye.com/topic/43228,但过程中还是出了不少问题。 之前多亏dennis同学在群里的热心帮助,我这个linux+ruby小菜鸟才能安装成功。 趁着今天重装,简单的记录一下,备忘: 1、上ruby官网下载ruby源码,解压、configure、make、make install; 2、上rubygem官网下载gem源码,解压、setup; 3、gem update出错,上zlib官网,下载源代码,解压、configure、make(如 ...
Ruby能轻易实现的一个功能在JavaScript里用不了,比较让人郁闷: [1,2,3,4,5].each{|item| puts item; break if item > 3;} 1.6版本的JavaScript为Array实现了一个forEach方法,在MooTools中它有个alias叫each,但用起来不是那么方便,好像没有办法实现上面ruby代码的功能。 [1,2,3,4,5].forEach(function(item){ alert(item); if(item>3) //return?没效果,只是跳出这个匿名function而已,本来代码就已经 ...
刚学moo没多久,api还没看完一遍,对moo不是很熟悉,之前也小学了一下jQuery,发现moo的选择器不如jq来得爽快,今天中午就遇到一个小问题:选择包含ul子节点的li节点(用jQuery这么写:$('li:has(ul)')),在mootools里怎么写? 我的写法如下: $$('li').filter(function(eachLI){ return eachLI.getElements('ul').length; }) 不知道大家有没更简单的办法。上面的方法明显比jQuery的selector麻烦,我不是很喜欢。 刚看到mootools圈子里有这么个帖子:http://moo ...
Global site tag (gtag.js) - Google Analytics