- 浏览: 88272 次
- 性别:
- 来自: 新疆乌鲁木齐
-
最新评论
-
jy5522:
有意思吗
javascript 难道要人品大爆发? -
armywin:
我们已经在使用corona了,iphone开发,有兴趣可以一起 ...
lua+corona SDK库开发andriod 或IPhone客户端应用 -
Arden:
corona 要钱的啊~
lua+corona SDK库开发andriod 或IPhone客户端应用 -
cyberblue:
文档上推荐的写法很麻烦
ActiveRecord::Ba ...
rails应用与多数据库的连接 -
tw208:
...
rails应用与多数据库的连接
文章列表
rails框架中scaffold已经让懒虫有了偷懒的机会,baseapp这个rails应用则更上一层楼,它将诸多插件一并纳入,如restful-authentication;同时使用了一些页面模板,让主页和对话框直接可以使用。
这个rails应用不是什么创新,但是可以让一些无聊的工作不再耽误你去思考商业逻辑问题。
既然有这些好处,安装起来试试吧。我在实际调测中(windows),却遇到不少问题:
1、rails3版本,及时所有插件安装完备,最后运行的时候,始终看不到首页,所以暂时放弃
2、使用ruby1.9.2,发现在不能与linecache兼容,也放弃。
最终选择如下的步骤完成安装:
1、安装 ...
rails与多数据库的连接有插件模式,也有原生模式,本文参考互联网资料,总结出来,并实际连接成功
1、配置database.yml
development:
adapter: mysql
encoding: utf8
database: myapp
username: root
password:
host: localhost
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: mysql
encoding: u ...
庞大的netbeans让人的耐心总是受到考验。当screen record中textmate的卓越身姿让人艳羡的时候,难免会到网上找替代品,intype、e-textmate都是收费,pspad虽不错,但是ruby支持者估计不多,在编写syntax中的ini文件过程中明显的不够认真,故而支持ruby也就不在行。
于是轻巧的notepad++再次映入眼帘,这次发现notepad++居然有这么多的插件,其中有一个explore,就是类似windows的explore,可以查看目录的,下载后时候还是不错。
1、下载notepad++
2、再下载notepad++的插件 explo ...
使用begin rescue else end这种句法是ruby编程的常用方法。但是每个在涉及到查询的过程中都需要使用这个繁杂的语句,简直让人崩溃。
不让人崩溃的方法就是如何写一遍,可以让所有的凡是可能碰到类似错误的action都可以一种优雅的方式提示错误。这就是我们的目标。
通过搜索,看到rescue_from这个rails定义的方法,再通过console查询,发现它在ActionController模块的Base类中。它可以捕捉action执行过程中的错误。
如果是查不着记录,比如使用find(5),这样的语句,如果模型中没有这条记录 ...
当时间按字符串保存在后台数据库,然后再从后台取出来,变为了UTC时间。这在www.wooxo.cc实现倒计时的时候,与北京时间相差了八个小时。在console中查询了Time类和String类中的各个方法,似乎都没有便捷方法,于是使用了如下笨办法:
1、从库中取出的时间为字符串,比如是'2010-10-7 23:59'
2、采用正则表达式,将年月日时分转换为数组
t='2010-10-7 23:59'.scan(/(.*)\-(.*)\-(.*)\s(.*)\:(.*)/).flatten
3、调用Time类中的local方法
Time.local(t[0],t[1 ...
V3版的Google map,从提供的代码结构而言,更加模块化,链式操作的感觉也不错,关键代表了未来,所以掌握其使用方法自然 重要。
与地图相关的应用开发中,常用的技术是将经纬度录入到后台库中,显示的时候,读出经纬度,通过google提供的js,将你关注的点在地图上画出来。或者可以画出更多的东西,比如线、多边形。
以往基于专业地图系统如mapinfo、esri、中地地图系统等开发应用软件,面临的最大问题是地图信息的更新,基于google map这个云计算平台,一切担忧可以消解。
废话少说,现在举一个简单的例子:当我们点击地图的时候,可以获取经纬 ...
jquery和javascript不会因为程序的排名而又任何变化,他们依然以十足的活力,在web开发中纵马驰骋。rails和ruby也是
一样,及时是一把钝刀,用的熟了,那也可以庖丁解牛,况且这两R就像足球场上的每个罗纳尔多一样,犀利无比。总之,坚持,就像开放一样,是软件开发者、团队的终身信条。
废话一堆,这里将jstree前面曾经采用的创建node的变通方法,进行修改。
1.首先明确在展示tree的时候,不能够将所有node的status设定为closed,必须加以判断,如果有child,则设置为closed,如果没有child,则设置为opened;
所以将private方法修改如下 ...
松耦合,是开始学习做程序应该有的理念。比如:
1.开发类的时候要尽可能的功能单一,做到宁小勿大。
2.方法的设计仍然需要尽可能的不要延伸过多的功能,最好在本类中消化完毕。
3.变量也是一样,缩小它的影响 ...
之二中的代码可以实现树的展示、修改和删除,但是在新增中存在如下问题:
如果节点下没有child,则不能创建新的节点,这也就是在测试的时候,为什么会出现有的时候,可以创建子节点,有时候不成功。
后来采用fire debug看的时候,发现在创建一个child node时候,总是要到后台先抓取tree,而后台的服务器代码如下:
def get_tree
if params[:id] == 'false'
@regions = Region.find(:all,:conditions=>"parent_region_id is NULL")
...
在rails中使用jstree1.0版本,进行tree的操作,与前面的老版本有所不同:代码的编写与jquery的代码风格更加一致。调用起来也比较方便。
从建立区域的树状结构。
一、建立递归模型
表字段:
id
parent_region_id
name
creator_id
同时定义Region模型
class Region < ActiveRecord::Base
belongs_to :parent_region,:class_name => 'Region',:foreign_key=>'parent_region_id'
has_m ...
递归模型的前端展示将不可避免的使用到tree的结构,几番对照之后,发现tree_view似乎已经不再更新。jstree这个俄国人设计的jquery插件却生命力十足,活力四射。所以就选择这个插件进行研究。
1.搭建一个jstree的测试环境
后台使用rails,在public下创建一个目录jstree,然后将下载的jstree包中的相关内容拷贝到这个目录中:
/jstree下包含:jstree.js,jquery.js
/jstree/images:这里包含显示用的图片
/jstree/themes:这里包含各类主题,如checkbox。
这里用的版本是0.99版本(jstree版本与 ...
前面mongrel或者fastcgi老是宕的问题,google之后,想robbin请教无回音的情况下,只好使用下下策:监测ruby进程,如果有问题,重新启动。于是找到了monit。
Monit
是一个开源系统监控软件,对于文件系统(包括目录)、进程、服务等都能够进行监控,并能够进行
“if condition then action”
的操作。
目前
monit
在
unix
系统上都能够使用。
这里给出一个我的实际配置案例,其他详细信息请到网站上查询(主站:
http://mmonit.com/monit/
;配置案例:
ht ...
在windows上开发rails应用,然后一直到unix上。在安装rails的环境的时候,参考robbin的方式,差不多没有什么大的问题。但是部署之后的运行发生问题:不论采用mongrel或者fastcgi部署,都会出现应用挂死的现象。
如果能够运行起来,说明应用本身及其配置没有什么大的问题。同时挂死,说是ruby在运行rb时,不知道怎么回事找一个进程就挂死。
然后通过ruby -d script/server或者ruby -d dispatch.fcgi,都会出现大量的错误和告警。难道是rails版本及其各个组件的版本的问题。于是重新使用instantrails最新 ...
在一次开发过程中遇到一个奇特的问题。
创建一个rack模型,发现模型测试不成功。比如在console下测试:Rack.class,给出的显示居然是Module。而一般的模型类显示其class的时候,得到的一定是class。
看到这个信息的时候,想到的问题就是rack一定作为module实现存在了。也就是rack是不是应该是一个保留类。
到google上搜索了一下,发现如下这个url
http://asciicasts.com/episodes/151-rack-middleware
才发现这个rack果然是在rails2.3之后引入的一个模块。它的作用在 ...
使用filter进行权限控制,是rails的一个特点。
我们在使用filter的时候,通常是结合使用authentication插件。
1.在需要使用登录验证的地方都会按照如下方式使用:
before_filter :login_required
2.如果有些action需要有豁免权,则可以使用
before_filter :login_requird,:except=>[:show]
3.如果有些action需要在一些条件下使用login_required,有时不需要验证,该怎么办。
我的做法是:
在控制器中创建一个private方法,如:
...