-
做了一个简单的报表软件
报表选项页和项目清单页: 生成报表结果(使用Gruff Graph做的) 呵呵,rails还是很好玩的。这个软件虽然很简单,但是已经能代替很多Excel功能了,而且可以多人协作。继续努力。
-
小试rails当中对多重选择表单的处理
keys: ruby rails multiple checkbox 今天上班给老板写个项目销售管理的小东西,其中涉及到多重选择的处理。目前感觉rails在这方面相对弱,也许因为rails在其它方面太强了吧。总之,对于用rails处理multiple checkbox,还真需要些基础知识。 例子中的任务是为一个项目project指定人员user_file,这显然是一个N对N(HABTM)的关联,按照David的建议,我把关联表project_user_map也作为实体处理了。 介绍一下模型 model: class Project … has_many :project_user_maps end class ProjectUserMap belongs_to :project belongs_to :user_file end class UserFile has_many :project_user_maps end 先说view: <% form_tag :action => ‘edit_member_2’, :id => @project do %> <% for user_file in @all%> <%= check_box_tag( ‘selected_file_ids[]’, user_file.id, @members.include?(user_file))%><%= user_file.name%> <% end %> <br/> <%=…
-
牛刀小试RegEx
RegEx中文叫做正则表达式,虽然不是很新的东西了,我很纳闷我居然是才开始了解它。在数据库中查询keyword一般是写成 select * from tablename where columnname LIKE ‘%keyword%’ 而java我记得不是很清楚了,大概是 if(myString.indexOf(keyword) != -1){ //do things… } 这个只是简单匹配,如果有复杂要求就要写多得多的代码了。例如判断keyword是否是一个数字开头,紧跟1个小写字母,跟随若干数字,最后以”pattern”结尾等等,就不是一行代码能写出来的了。对于上例,RegEx+Ruby的写法就是 if keyword =~ /^\d[a-z]\d+pattern$/ #do things end 上式中,//是RegEx的边界,类似””是字符串的边界一样。接下来^代表匹配的开始;\d代表数字,就是0 – 9;[a-z]就是一个从a到z的小写字母了;+是后缀,表示1个或多个,因此\d+就是1个或多个数字的意思了;最后作为关键字的pattern直接写上即可;$代表匹配的结束。 更灵活的应用就是|符号和()括号了。例如判断文本是否包含x或X,RegEx就可以写 /x|X/ 如果要判断文本是否包含多个连续的x或者X,例如xXX、XxX,RegEx就可以写 /(x|X)+/ 如果要判断文本是否包含XXX、XXXX、XXXXX,RegEx可以写 /X{3,5} / 目前的了解就是这么多了,不过以上这些组合起来应该已经可以应付很多种情况了。继续学习。 UPDATE: Regex tutorial from guru99.com
-
梦想成真:用idea开发ruby on rails
用java做东东的朋友应该都知道JetBrains(下简称JB)和他们的杰作IntelliJ IDEA(下简称IDEA)。JB的口号是develop with pleasure,快乐的开发。而rails的口号是web development that doesn’t hurt,这个不大好直接翻译了,不痛苦的web开发?HOHO,现在是快乐+无痛苦了,因为IDEA的新插件支持rails开发了。我睡觉都要笑醒了。 此插件的链接在此 。主要功能如下: keyword completion,关键字辅助完成 syntax highlighting,句法高亮显示 on-the-fly code validation,即时代码检验 error highlighting,错误高亮显示 Rails templates and generator integration,模版、生成器集成 最后,IDEA开放了开源软件许可,就是说,如果你手头有个开源项目,有项目网站、活跃的项目论坛,那么你可以申请免费的IDEA许可!省了400多美刀哦~ 我也要建个项目:-)
-
ruby笔记之一
1,随意,更象人类的语言 java: if(a == b) { System.out. ….//already forgotton? 🙁 } ruby: puts “it’s right!” if a == b 2,纯粹的OOP java: MyClass my = new MyClass(“param”); //’;’ required int i = Math.abs(-5); ruby: my = MyClass.new(“param”) #no ‘;’ required i = -5.abs #see, even -5 is an object 3,灵活 java: public String hello(String sir){ return…
-
开始ruby,开始rails
终于放下包袱了,我要重新开始,从ruby on rails开始了。 我的包袱是什么呢?是Java。从2000年年底开始,Java、JSP(好多人问是JavaScript么?晕……)、JavaServlets到后来的Struts、Tapestry、Hibernate,真是没少花时间呢。好在我不必遗忘Java才能学习Ruby:-) 自从去年开始做bjqnc.com(小区的网站,纯兴趣),我对Java的感觉就发生了变化。我最终选择了xoops,实在无奈的是xoops是基于php和smarty的,完全陌生的东西。而我熟悉的Java呢?开源项目颇多,唯独没有能用得上的。于是我开始了磕磕绊绊的php+smarty的应用。于是我又回到了编辑模版的原始阶段了,不甘心…… 为了做自己的xoops module,我找到了网友alex的笔记,跃跃欲试,后来好歹算是成功了。于是就像遇到了救星,赶忙把alex的msn加了进来:-) 后来alex说到ror(ruby on rails),我顿感无知,于是去ror网站上恶补一气,看了15分钟做blog那个视频,嗯,It’s the one. 当然了,Java还是很了不起的,我现在用的radrails就是来自Eclipse,哈哈。 本周要做个日志管理软件,算是练练手。待续了……