railssql
A. (计算机编程)我该学什么
大学四年。能够吧C系四种语言学会就可以了。
然后吧API MFC学好。
然后是TCP/IP。
如果你真的很厉害。。。很轻松就能搞熟练这些。。。好吧我推荐你学习下Python。
我到大三了,也还不能很熟练的应用这些东西。逐渐你就知道,这并不是很轻松的事情。
大一刚学c语言时候很无聊,确实很多空余时间,你可以稍微学习学习算法,然后接触下API和MFC吧,也就是windows编程。
B. 初学ruby on rails,ActiveRecord::StatementInvalid in UsersController#show 不能生成正确的sql语句
从你给的信息看不出任何问题,需要你贴出数据库的配置,以及model的定义
C. 请教rails多表联合查询问题
把多个表读到一个DATASET里面,然后读取的时候再按表读出来。最近有写类似的 创建一个返回dataSet类型的方法。dataSet里创建四个表 用一个新的dataSet=这个方法。 data=sql.getData(); 用新的dataTable=具体的表。然后具体读取某个表
D. ruby on rails 怎么执行sql语句
Rails总是会做一些假设为您加速开发。通常,这种假设是正确而有帮助的。不过,它们并不总能有益于性能,并且还会导致资源使用的效率低下——尤其是数据库资源。
另一个显着的挑战是N+1问题......这会导致很多小查询的执行,而不是一个单一的大查询。例如,ActiveRecord无从知道一组父记录中的哪一个会请求一个子记录,所以它会为每个父记录生成一个子记录查询。由于每查询的负荷,这种行为将导致明显的性能问题。
由于ActiveRecord 能够让如此众多的任务变得轻而易举,Rails开发人员常常会形成 “SQL 不怎样” 的一种态度,即便在更适合使用SQL的时候,也会避免SQL。创建和处理数量巨大的ActiveRecord对象的速度会非常缓慢,所以在有些情况下,直接编写一个无需实例化任何对象的SQL查询会更快些。
E. rails 向数据库插入数据时怎么跳过before_create
save:rails中的save其实是create_or_update,新建或修改记录!不一定是新建,切记 new :只是在内存中新建一个对象,操作数据库要调用save方法。 create = new + 执行sql。 build:与new基本相同,多用于一对多情况下。还有一个不同请看使用示例 !:new!, create!, build!与new, create, build的区别是带!的方法会执行validate,如果验证失败会抛出导常。 save是实例方法,而create, build, new是模型类的类方法
还有另外一种说法,也挺好,如下 首先说new吧,app = App.new(params[:app]),这个是用给定的params来实例化一个app对象,注意此时只是初始化了一个对象,ruby只是在内存里面给app分配了一个内存地址,但是,这 个地址还没有指定任何的有效的内存,所以接下来ruby要做的就是调用model里面的initialize函数来根据给定的参数进行初始化这个对象,并将该对象保存到堆里面。 对于new!来说,这个跟new相比,就是在save到数据库的时候,如果save失败,就会报一个错误。 对于create来说,过程大致跟new差不多,唯一的区别是,create = new + save,即create一步操作等于new和save的两部操作。 对于create!来说,类似于new! 过程大致也是跟new!差不多 区别是create! = new! + save 如果保存失败的话会返回一个错误。 对于build来说,主要的混淆的地方在于与new的区别,其实,我认为build是new的一个别名,但是用的地方可能跟new有点区别,在我看来,build大多是用于有关联关系的对象模型的时 候,用来创建子model用的,比如说 Person 与 Order是一对多的关系,那么我们可以用 @persion.build()方法来创建于该person对应的orders
F. ruby(rails) 程序如何 连接 各种远程数据库
在使用Cookie.find等操作的时候,就会连接到database.yml中monitor_spider配置的数据库上操作。以前一直都这么用,没发现什么不妥。最近一个项目,由于启动的进程比较多,老是碰到数据库连接池链接获取超时的错误。
通过MySQL Client用命令:show processlist; 发现数据库连接数量一直居高不下,轻轻松松就上2k+的连接。通过读Rails框架的connection_pool.rb文件代码,发现在各模型中用establish_connection连接数据库会造成很大的问题。文件中类ConnectionHandler的establish_connection方法代码如下:Ruby代码 def establish_connection(name, spec) @connection_pools[name] = ConnectionAdapters::ConnectionPool.new(spec) end def establish_connection(name, spec)
@connection_pools[name] = ConnectionAdapters::ConnectionPool.new(spec)
G. 请教rails连接mysql时没有设置encoding:utf8后保存的中文乱码如何转为正常
说白了,就是编码问题。
处理其实很简单,把原来的数据导出,用记事本打开备份文件,用支持utf8的编辑器新建文件,直接复制备份文件后,保存为utf8编码,最后再导入数据库即可。
H. 如何理解 rails create
save:rails中的save其实是create_or_update,新建或修改记录!不一定是新建,切记 new :只是在内存中新建一个对象,操作数据库要调用save方法。 create = new + 执行sql。 build:与new基本相同,多用于一对多情况下。还有一个不同请看使用示例 !:new!, create!, build!与new, create, build的区别是带!的方法会执行validate,如果验证失败会抛出导常。 save是实例方法,而create, build, new是模型类的类方法
I. 怎样执行rails 插入数据库脚本
关键看你如何建立数据库连接了,不同的gem有不同的格式。如果你用Sequel gem 的话可以直接把sql字符串放到run函数里面类似于:
1
DB.run(sql)
不过基本上主流框架都是希望你直接按ruby格式去写和运行sql。
J. 有什么工具可以比较两个sql server数据库的差异
rails
有
migrate
工具,所有数据库更改都会记录在
migration中,
可以很方便的进行数据库结构的改变。
不知道你是做什么开发的。但应该也有相类似的工具。当然,你可以用rails的migrate工具进行数据库的更改。