1、Table1.find(:all,:conditions=>[sql,params],:include=>[table2,table3]
其中在include内的表table2,table3都会与表table1进行左连接;而且要使得以上语句能够正确运行,table2,table3必须与table1有类似belongs_to,has_many的关联;
以上rails中的代码也可以直接用sql语句生成,例如要找跟id为1的项目有关的公司名称、联系人的姓和名,其关联表为:project_firm,则rails中的代码为:
ProjectFirm.find(:all,:conditions=>"project_id = 1",:include=>[:firms,:contacts,:projects])
(注:以上语句不仅会把公司名称、联系人的姓名搜索进来,也会把这些表所拥有的属性全部搜索进来,要将字段简化可直接用sql语句)
直接写sql代码为:
select p.name as p_name,a.name as a_name,c.last_name as l_name,c.first_name as f_name
from project_firms as pf
left join projects as p on pf.project_id = p.id
left join accounts as a on pf.firm_id = a.id
left join contacts as c on pf.firm_contact_id=c.id
在包含prototype.js的javascript中实现像ruby那样
1、单个数字的迭代
ruby代码:
5.times{|i| puts i}
javascript实现:
(5).times(function(n){
puts i
})
其中5必须在括号内,否则会出错;另外,function(n)有点类似ruby代码中的|i|;
2、区间迭代
ruby代码
(1..5).each{|i| puts i}
javascript实现:
$R(1,5).each(function(n){
puts i
})
3、方法
ruby代码:
str=['a','b','c']
str1=str.clone
n=str.size
javascript实现:
str=['a','b','c']
str1=str.clone()
n=str.size()
其中clone和size后的括号是必须的;
4、类似map的方法——invoke,功能很好,很强大
['hello','world','good'].invoke('toUpperCase') => ['HELLO','WORLD','GOOD']
['hello','world','good'].invoke('substring',0,3) =>['hel','wor','goo']
也可以控制元素的属性和css样式,如:
$('test1','test2','test3').invoke('toggle'):使得id为test1,test2,test3元素的display属性在inline和none间转换;
$('test1','test2','test3').invoke('addClassName','show'):为每个元素添加class="show";
5、prototype.js中的扩展
一般的用法为:Element.methods,例如:
Element.hide('my_div');
Element.addClassName('my_div','style_name')
可利用扩展:
my_div = document.createElement('div')
Element.extend(my_div);
my_div.hide();
my_div.addClassName('style_name')(或可直接写为:my_div.addClassName('style_name').hide();)
document.body.appendChild(my_div)
也就是说,在进行扩展后,元素将拥有Element类的方法;其中,常用的美元符$('my_div'),也就是对美元符进行了扩展;同理$$('my_style')也是;
另外还可以用Element.addMethods()方法为元素添加自己所写的方法,例如:
var myMethod={
truncate:function(element,length){
element = $(element);
return element.update(element.innerHTML.truncate(lenght));
},
updateAndMark:function(element,html){
return $(element).update(html).addClassName('update');
}
}
在利用:Element.addMethods(myMethod)进行扩展后,便可使用以下方法:
$('my_div').truncate(100)
需要注意的是:当扩展涉及到上级节点时,在不同的浏览器中需进行如同的处理,例如在IE中以下语句会报错:
$('someElement').parentNode.hide()
若要使得在所有的浏览器中都兼容,则需改为:
$($('someElement').parentNode).hide()
其中在include内的表table2,table3都会与表table1进行左连接;而且要使得以上语句能够正确运行,table2,table3必须与table1有类似belongs_to,has_many的关联;
以上rails中的代码也可以直接用sql语句生成,例如要找跟id为1的项目有关的公司名称、联系人的姓和名,其关联表为:project_firm,则rails中的代码为:
ProjectFirm.find(:all,:conditions=>"project_id = 1",:include=>[:firms,:contacts,:projects])
(注:以上语句不仅会把公司名称、联系人的姓名搜索进来,也会把这些表所拥有的属性全部搜索进来,要将字段简化可直接用sql语句)
直接写sql代码为:
select p.name as p_name,a.name as a_name,c.last_name as l_name,c.first_name as f_name
from project_firms as pf
left join projects as p on pf.project_id = p.id
left join accounts as a on pf.firm_id = a.id
left join contacts as c on pf.firm_contact_id=c.id
在包含prototype.js的javascript中实现像ruby那样
1、单个数字的迭代
ruby代码:
5.times{|i| puts i}
javascript实现:
(5).times(function(n){
puts i
})
其中5必须在括号内,否则会出错;另外,function(n)有点类似ruby代码中的|i|;
2、区间迭代
ruby代码
(1..5).each{|i| puts i}
javascript实现:
$R(1,5).each(function(n){
puts i
})
3、方法
ruby代码:
str=['a','b','c']
str1=str.clone
n=str.size
javascript实现:
str=['a','b','c']
str1=str.clone()
n=str.size()
其中clone和size后的括号是必须的;
4、类似map的方法——invoke,功能很好,很强大
['hello','world','good'].invoke('toUpperCase') => ['HELLO','WORLD','GOOD']
['hello','world','good'].invoke('substring',0,3) =>['hel','wor','goo']
也可以控制元素的属性和css样式,如:
$('test1','test2','test3').invoke('toggle'):使得id为test1,test2,test3元素的display属性在inline和none间转换;
$('test1','test2','test3').invoke('addClassName','show'):为每个元素添加class="show";
5、prototype.js中的扩展
一般的用法为:Element.methods,例如:
Element.hide('my_div');
Element.addClassName('my_div','style_name')
可利用扩展:
my_div = document.createElement('div')
Element.extend(my_div);
my_div.hide();
my_div.addClassName('style_name')(或可直接写为:my_div.addClassName('style_name').hide();)
document.body.appendChild(my_div)
也就是说,在进行扩展后,元素将拥有Element类的方法;其中,常用的美元符$('my_div'),也就是对美元符进行了扩展;同理$$('my_style')也是;
另外还可以用Element.addMethods()方法为元素添加自己所写的方法,例如:
var myMethod={
truncate:function(element,length){
element = $(element);
return element.update(element.innerHTML.truncate(lenght));
},
updateAndMark:function(element,html){
return $(element).update(html).addClassName('update');
}
}
在利用:Element.addMethods(myMethod)进行扩展后,便可使用以下方法:
$('my_div').truncate(100)
需要注意的是:当扩展涉及到上级节点时,在不同的浏览器中需进行如同的处理,例如在IE中以下语句会报错:
$('someElement').parentNode.hide()
若要使得在所有的浏览器中都兼容,则需改为:
$($('someElement').parentNode).hide()
发表评论
-
08/1/8
2009-03-08 09:49 5411,sysdate oracle中表示今天的日期函数不是no ... -
08/1/7
2009-03-08 09:48 5251、<%=select table_name,attri ... -
mysql函数
2009-03-08 09:47 8731、coalesce(a,b,c):返回参数列表中第一个不为n ... -
笔记6
2009-03-08 09:46 6311、在模型中动态生成代码的函数module_eval 有时需 ... -
08/12/31
2009-03-08 09:45 655mysql中的一些用法: 1、user():列出数据库的用户名 ... -
08/12/30
2009-03-08 09:44 804一、date_select(object_name,metho ... -
08/12/29
2009-03-08 09:43 704escape(), encodeURI()和encodeUR ... -
08/12/25
2009-03-08 09:42 7642、camelize 功能与ruby中的capitalize有 ... -
08/12/24
2009-03-08 09:41 7141、在知识库系统中添加了上传和播放mp3功能。 2、对考勤系 ... -
08/12/22
2009-03-08 09:31 739由于在周末的时候在系统的“项目”模块中添加了“项目类别”模块 ... -
08/12/17
2009-03-08 09:30 719今天本打算利用javascript做一个系统的导航的,所以在网 ... -
08/12/5
2009-03-08 09:29 669今天将系统给老板看了,老板提了几点意见: 1、在各模块的列表中 ... -
08/11/10
2009-03-08 09:25 6161、实现了将数据库中的记录按不同的分页条件进行分页; 以往都是 ... -
笔记5
2009-03-08 09:23 4511、解决了昨天完成的搜索记录中还存在的问题: 现象:搜索条件中 ... -
笔记4
2009-03-08 09:19 6901,The old way var a = document ... -
笔记3
2009-03-08 09:16 613今天主要看了下sql语句在oracle中的实现 一、orac ... -
笔记2
2009-03-08 09:12 672昨天,已经弄好了项目的显示和添加模块,今天继续完成了项目职能的 ... -
笔记1
2009-03-08 09:08 561今天做CRM系统中的用户 ...
相关推荐
Basic4Android最新最全类库,包含B4a上市后截止到2017.04.24的库文件。希望对大家有帮助。以下为文件列表。 2012/08/09 周四 01:55 35,901 ABExtDrawing.jar 2012/08/09 周四 01:55 191,079 ...2011/08/26 周五 03:08 ...
软件支持从2006年6月改版后的百度指数,批量采集百度指数的整体指数,移动指数,导出从2011年开始的每天的整体指数,移动指数数据。 支持如下功能: 1)可以从文件导入关键词,不限导入数量。 2)可以批量导出关键词...
24考研大纲即将发布 链接:https://pan.baidu.com/s/1uDgTJnJca8p79_vCnzXHFA 提取码:bnpq
2009/08/12 12:37 1,269,760 超级巡警暴力文件删除器.EXE 2007/10/26 01:05 513 顽固目录删除器.CMD 2007/06/23 07:42 147,594 顽固软件删除工具.exe 12 个文件 3,042,623 字节 D:\安装包\实用小工具超级工具箱\...
2022/09/09 12:03 <DIR> breed 2021/09/27 14:28 1,579 Factory.tgz 2021/05/19 20:25 <DIR> fxk2sjgj 2022/08/18 15:35 <DIR> k2p 2022/08/05 17:42 <DIR> k2p刷机 2022/05/26 14:01 111,763 PandoraBox1611_1.png ...
2009/08/18 23:23 12,564 炫绿.she 2011/11/01 16:14 12,564 炫绿亮彩.she 2010/07/31 12:37 18,056 牛仔裤.she 2011/11/01 16:14 19,770 白色火焰.she 2011/11/01 16:14 16,746 白色简约.she 2009/02/22 16:05 31,...
2011/12/22 09:26 1,836,285 VS5ICM_M04_vCenterServer.pdf 2011/12/22 09:27 1,493,743 VS5ICM_M05_Networking.pdf 2012/03/05 10:27 4,088,051 VS5ICM_M06_Storage.pdf 2011/12/22 09:28 1,801,139 VS5ICM_M07_...
嘉俊的博客 会当凌绝顶,一览众山小。 欢迎订阅电报频道:分享初步相关的精选文章 ...2020/08/26- 2020/ 26- 2020/ 22- 2020/08/16 2020/08/15 2020 2020/07/28- 2020/07/27- 2020/07/26- 202
学习前端开发一周,自己觉得是写的比较好的一个页面,因为现在所学的知识有限,只能做到这样了,花了几个小时去写,中途也遇到了许多问题,不过都解决了,作为初学者写完的时候成就感还是满满的,有需要就自取吧,...
12. <context:component-scan base-package="com.mvc.controller" /> 13. <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> 14. ...
百度 编译镜像 bash apollo.sh build 报错 文件 ...bazel_root/540135163923dd7d5820f3... ERROR: (12-26 08:52:07.359) Analysis of target '//modules/drivers/camera:libcamera_component.so' failed; build aborted.
[在这里插入图片描述](https://img-blog.csdnimg.cn/4167c6f2526c4da08aa7ace5d17998c6.png) **4、将改写后的文章输出到文档** ![在这里插入图片描述](https://img-blog.csdnimg.cn/f10bcc11ccf
2018/10/12 17:08 40,048 enum34-1.1.6.tar.gz 2018/10/16 10:16 0 files.lst 2018/10/12 17:21 172,698 idna-2.7.tar.gz 2018/10/12 16:58 33,051 ipaddress-1.0.22.tar.gz 2018/10/15 16:31 378,470 Jinja2-2.7.3....
uniapp期末web移动静态小程序app作业开发,完全手敲,利用bootstrap布局搞定uniapp期末web移动静态小程序app作业开发,完全手敲,利用bootstrap布局搞定uniapp期末web移动静态小程序app作业开发,完全手敲,利用...
26/08/2009 add keys for TIA Portal v10.5, Braumat, Maintenance Station 2009 04/04/2009 add keys for WinAC MP 2008, PCS7 v7.1 22/12/2008 add keys for WinAC 2008, Simatic Net 2008, RF-Manager 2008 20/08...
26/08/2009 add keys for TIA Portal v10.5, Braumat, Maintenance Station 2009 04/04/2009 add keys for WinAC MP 2008, PCS7 v7.1 22/12/2008 add keys for WinAC 2008, Simatic Net 2008, RF-Manager 2008 20/08...
2014/10/11 16:12 13,340 C++模板类-classTest.rar 2014/11/10 21:55 179,424 CDib-位图操作类.rar 2007/12/06 13:16 2,678 CInifile.rar 2007/12/06 13:20 2,442 CIniFile.zip 2014/10/23 16:15 47,038 CLISTCTRL...
2009/12/12 V6.33 修改VC高级程序(QH) 2010/01/06 V6.34 添加VB.NET简易程序(TW) 2010/03/08 V6.35 改为IIS11.5安装包(LYB) 2010/03/015 V6.36 添加DAM3029模块(LXY) 2010/03/017 V6.37 修改DAM3052界面上的错别字...
26/12/2019 Python 解决方案 数字 问题 解决日期 1 31/12/2019 2 01/01/2020 3 01/01/2020 4 01/01/2020 5 02/01/2020 6 02/01/2020 7 03/01/2020 8 04/01/2020 9 04/01/2020 10 08/01/2020 11 09/01/2020 12 09/01/...
完成时间:2017/6/26 11:01 版本:V1.1 本文参照: 《A33 wifi移植说明书.pdf》 还有就是全志R16的parrotv1.1的官方SDK(Android4.4.2) 1、打开AP6212的BT,关闭rtl8723bs的BT: [ 3.141273] Bluetooth: HCI ...