rubyonrails:Ruby rails 页面跳转(render和redirect_to)

Ruby代码er" _disibledevent=复制代码 代码如下: @user.update_attributes(:password = params[:user][:password]) flash[:notice] = '密码修改完成' redirect_to :action = 'index' redirect_to :action = 'change_pass', :id = @... [阅读全文]

rubyonrails:受Ruby on Rails影响的PHP开发框架(转载)

不能不说RoR对WEB开发模式影响是巨大不仅J2EE员们在反思为什么使用Java/J2EE开发WEB要比RoR低效PHP员们也在想如何模仿和学习RoR开发方式 目前受到RoR直接或间接影响PHP Framework有:CakePHPSymfonyPHP _disibledevent=http://club.phpe.net/index.php?s=&act=ST&f=... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 3十 9)- ActiveRecord基础(访问属性)

如果在个model对象中有个名为balance属性你可以通过索引操作符来获取该属性值你可以使用个串或者标记在这里我们使用标记例如:   account[:balance] #= 获取值  account[:balance] = 0.0 #= 设置值  但是这种常见代码是不提倡更好是这样利用ruby访问思路方法:  account.balance #= 获取值  account.balance = ... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 3十 8)- ActiveRecord基础(列和属性)

ActiveRecord中个对象相当于数据库中表行对象属性对应于表列也许你会注意到我们Order类没有提及有关orders表任何东西这是ActiveRecord在运行时来确定这些对应关系Active Record将数据库中模式反应到类中   我们orders表可能使用下面sql来创建:create table orders (id not null auto_increment,name var... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 3十 7)- ActiveRecord基础

ActiveRecord是Rails提供个对象关系映射(ORM)层从这篇开始我们来了解Active Record些基础内容连接数据库映射表访问数据等   Active Record使用基本ORM模式:表映射成类行映射成为对象列映射成对象属性和很多大量使用配置ORM库区别Active Record最小化了配置想象下有个使用Active Record把Mysql数据库中orders表转换到类通过制定... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 3十 6)- 调试窍门技巧

这次我们来看看些有关调试小提示  首先而且也是最重要就是编写测试代码在Rails里编写单元测试和功能测试都很简单使用它们可以减低bug发生率也可以避免在你从前代码中突然出现bug  测试代码告诉你哪些东西能够工作哪些不能并且测试代码帮助你隔离那些有问题代码有时候bug并非很快地表现出来  如果问题发生在个Model中我们可以使用脚本script/console来模拟个irb对话在其中进行跟踪例如下... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 3十 5)- 日志(Log)

Rails内建了Log功能或者更准确说Rails暴露了Logger对象该对象可以在所有Rails中使用   Logger是从ruby中移植过来个简单Log框架(你可以在ruby命令行里键入ri Logger来查看标准库文档)对于我们而言我们只需要知道Logger能针对warnninginfoerror或者fatal level来生成Log信息然后确定向Log文件中写入哪个级别Log信息  logg... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 3十 3)- 命名约定

在刚开始学习Rails时候可能会困惑于Rails时怎样自动处理命名比如如何根据个名为PersonModel来到数据库中找到名为people表这次我们就来看看Rails里命名约定   1.    混合大小写下划线复数  我们经常使用简写命名变量在Ruby中约定为命名变量时全部字母都小写单词中间使用下划线分割类(Class)和Modules命名有区别不使用下划线单词简写和首字母使用大写所以我们在前面编... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 3十 2)- Rails的配置文件

Rails运行时配置是由config目录下文件来控制  1.    运行时环境(Runtime environment)  当开发者编写代码时,需求是多中多样在开发中你可能会需要很多登录加载变化过代码在测试时你需要各个系统的间是隔离开在发布的前你可能需要进行性能优化并且时用户远离bug  为了支持这切Rials有运行时配置概念每个环境都拥有自己组配置可以在区别环境中运行同个应用  切换运行环境可以... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 3十一)- Rails的目录结构

的前 3十篇都是根据书本上内容写,很少有自己理解,从这篇开始,来了解些Rails内部机理,所以理解东西比较多,代码就少了这次我们来看看Rails目录结构   有关Rails目录结构通过前面练习我们应该有些了解了我们工作目录主要是app和test两个其他目录还了解不多下面是个Rails项目通常目录结构我们还用前面depot项目来作例子目前depot项目结构:├─app             │ ├... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 2十 9)- 性能测试

Rails所针对是Web项目必须要考虑大访问量情况所以我们来看看在Rails怎样进行性能测试   1.    要进行性能测试我们首先要模仿大量数据我们现在知道在test/fixtures/目录下yml文件里添加我们测试数据在运行测试时这些数据会被加载到数据库但是条两条数据还可以数据多情况下条条在yml文件里写可不行所以我们先看看怎样在yml文件里造大量数据在fixtrue目录下创建个子目录perf... [阅读全文]

rubyonrails:Ruby on rails开发从头来(windows)( 2十 8)- 使用Rake运行测试

Rake是使用ruby编写我们用Rake来读入RakeFile而Rakefile里包含了定义任务每个任务都有个名字和它所依赖些任务并且还有组要执行动作现在我们来了解下Rails中Rake 当你使用Railsgenerate脚本创建个项目时候会自动在项目根目录生成个Rakefile文件可以帮助你完成很多任务我们还可以使用个命令来查看都提供了哪些功能在Rails命令行中执行:depotrake &nd... [阅读全文]

rubyonrails:攻克CakePHP(PHP中的Ruby On Rails框架)

CakePHP框架首页: http://www.cakephp.org/  下载后导入工程中目录结构如下图(使用版本:1.1.19.6305)    ?phpecho$html-tagErrorMsg(Post/body,Bodyisrequired.)?  /p  p    ?phpecho$html-submit(Save)?  /p/form  测试URL: http://localhost... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十)- ActiveRecord基础(Boolean属性)

些数据库支持boolean类型而另些则不支持这使得Active Record要抽象boolean类型变得困难例如如果数据库不支持boolean类型有开发者使用char(1)来替代而内容使用“t”和“f”来表示true和false而另外些开发者使用eger类型0是false1是true即使数据库支持boolean类型在内部也许还是使用0和1来存储  在... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十一)- ActiveRecord基础(存储结构化数据)

有时能够在某个属性中直接存储任意ruby对象是很方便种办法就是Active Record支持序列化将个ruby对象变为个YMAL串并且将这个串存储到属性对应数据库字段中在数据库定义中这个字段必须为text类型   Active Record将数据库中Char型和text型映射为ruby型所以如果我们需要告诉Active Record使用序列化功能例如我们想知道某个客户进行最后5次消费我们创建个含有... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 2)- ActiveRecord基础(主键和ID)

也许你已经注意到了,在我们前面代码中数据库定义里都使用了个eger型字段id作为主键这是Active Record个约定   或许你要问为什么不用订单编号或者某个有意义列来作为主键呢?使用id作为主键有个很重要原因就是如果使用具有内在格式主键话随着时间推移有可能其中规则也会变化例如使用ISBN号码来给book表做主键毕竟ISBN号码是唯但是有可能当本书写完后美国出版业已经发展了并且在所有ISBN号... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 3)- ActiveRecord基础(连接数据库)

Active Record抽象了数据库连接概念帮助应用来处理底层数据库链接细节作为替代Active Record使用通用将细节委托给组数据库适配器   可以使用establish_connection( )思路方法来制定连接下面例子创建了个mysql数据库连接数据库名字是railsdb,服务器Host名为dbserver.com用户名为railsuser密码为railspwActiveRecord... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 4)- ActiveRecord基础(创建记录)

Active Record使得实现CRUD数据库基本操作变得简单在下面几节里我们使用Mysql数据库中orders表来进行CRUD操作这次先看创建(Create)   我们假想有个Model名为Order: Order ActiveRecord::Baseend  在面向对象模型里表对应类表中行对应类对象我们可以通过创建个类对象来创建条记录对orders表我们可以使用Order.New思路方法来... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 5)- ActiveRecord基础(读取记录)

读取记录包括指定那些特定数据是你感兴趣你给Active Record指定标准Active Record再返回给你些对象其中包含了符合条件记录数据   在个表中检索数据最简单办法就是指定主键任何个Model都支持find思路方法该思路方法支持个或多个主键值如果只指定了个主键将会返回对应对象如果指定了多个主键给find思路方法该思路方法组相应对象注意当没有任何符合条件数据时候将会抛出个RecordNo... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 6)- ActiveRecord基础(SQL和Active Record)

想象下Active Record是如何处理SQL我们来看看find思路方法:conditions参数时候像这样:find(:all,:conditions=…)这里:conditions参数决定了find思路方法将返回哪些记录它相当于Sql语句where部分例如要获取所有名字为Davepay_type为po订单我们这样写: pos = Order.find(:all,:conditi... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 7)- ActiveRecord基础(强大的find思路方法)

现在我们知道如何指定条件现在我们来看看find思路方法支持些其他设置   首先理解find(:first,…)思路方法是非常重要该思路方法在同样conditions设置下和find(:all,…)思路方法生成同样sql语句区别的处仅在于只返回条记录在时候种参数为:first另种为:all  find思路方法执行个select from这样sql语句:all标记指定返回表... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 8)- ActiveRecord基础(动态查询)

数据库上最常运行查询莫过于根据指定条件返回符合结果集查询可能是返回所有名字为‘dave’订单或者是某个博客上所有标题含Railspost在很多其他框架和设计语言中你需要创建sql来执行查询Active Record利用了ruby语言所包含动态能力来做这些事   例如我们Order Model包含了诸如nameemailaddress这样属性我们可以使用这些名字对应find思... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 4十 9)- ActiveRecord基础(行数和再加载数据)

Active Record提供了两个思路方法来获取符合条件记录条数:count和count_by_sql例如: c1 = Order.countc2 = Order.count(["name = ?", "Dave Thomas"])c3 = LineItem.count_by_sql("select count(*) " +" from line_items, orders " +" where... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十)- ActiveRecord基础(更新记录)

前面了解了检索思路方法这次来看看Active Record怎样更新数据库中记录   如果你有个Active Record对象(或许对应于order表),你可以通过save思路方法将它写道数据库中去如果这个对象是先前从数据库中读取出来save思路方法将会更新既有记录否则将会新建条记录  如果条既有记录被更新Active Record将会用它主键和来匹配内存中对象Active Record对象中属性被... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十一)- ActiveRecord基础(并发处理)

在学习Rails中并发处理处理前我们先简单了解下并发处理概念  在有多个处理同时访问同个数据库应用中可能会出现这样情况个处理更新了数据库中行而使得另个处理中持有数据变得陈旧了例如A和B先后从数据库中提取了相同数据并都做了修改这时B先将自己修改更新会数据库稍后A将自己修改更新回数据库这时将会覆盖B所作修改当B再次提取数据库后看到是A修改结果而不是自己  个解决办法就是将更新表或者行进行锁定防止其他进... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十 2)- ActiveRecord基础(删除记录)

Active Record提供了两种方式进行删除操作首先有两个类级别思路方法delete和delete_all这两个操作处在数据库层面上delete思路方法接收个或组和数据库对应iddelete_all思路方法删除所有符合指定条件记录如果没有指定条件就会删除所有记录思路方法返回值和具体数据库适配器相关例如oracle返回被影响行数如果没有记录被删除也不会抛出异常 Order.delete(123)... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十 3)- ActiveRecord基础(表关联)

很多使用数据库都包含有多个表而且通常些表的间还有关联关系订单常含有多个条目而个条目又关联到种商品个商品可能又属于多个商品分类个商品分类里又包含有多个区别商品  在数据库中这些关联表现为使用主键值把表关联起来也就是外键但是这属于底层范畴我们需要处理Model对象间关联而不是数据库中列和键如果个订单含有多个条目我们需要有办法来维持处理它们关系如果个条目引用到种商品我们或许想这样做:price = li... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十 4)- ActiveRecord基础(指定关联关系)

Rails支持 3种表间关联关系对对多多对多你需要在Model中加入声明来标识这些关联:has_onehas_manybelongs_tohas_and_belongs_to_many  对关联关系可能存在于象订单和发票这样关系个订单只能有个发票在Rails中我们这样指明: Order ActiveRecord::Basehas_one :invoice. . . Invoice Active... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十 5)- ActiveRecord基础(一对一关联关系)

对关联或者更正确说是对零或对关联是通过外键引用到另外张表中至多条记录实现下图描述了orders表和invoices表关系:" _disibledevent= trueActive Record将自动删除从表中关联记录  :order指定了在记录被返回前怎样进行排序我们会在后面有关has_many内容里详细讨论... [阅读全文]

rubyonrails:Ruby on rails开发从头来( 5十 6)- ActiveRecord基础(一对多关联关系)

对多关联可以使我们表示组对象例如个order可以包含有任意多个line item在数据库中所有line item记录都通过外键关联到特定order   在Active Record中通过在父对象中has_many来定义到子对象关联在子对象中使用belongs_to来指定父对象我们已经在上篇中了解了belongs_to声明实际上在对多情况下和对是相同所以我们来了解has_many声明" _disib... [阅读全文]
1 共1条 分1页