前段时间项目一直很忙,没时间学习ror。最近终于闲下来了。又开始学习ror。这次主要是仔细学习了一下ruby。(自己也犯了和很多人同样的错误,没有很好的学习ruby,就开始照着Agile Web Development with Rails学习rails)。
ruby学的差不多了,开始仔细阅读中国人自己写的第一个ror的open soruce Hamster。从中学到了一些东西。但看了两天还是决定放弃他了(没有任何贬低Hamster原作者的意思)。之所以决定放弃学习Hamster原因主要还是感觉其中的部分source还是优点不够严谨。下面举几个例子
1.存在没有防止sql注入的代码
tmp_roles = Role.find_by_sql("select roles.id from roles,departments where roles.department_id = departments.id and departments.id=#{department_id}")
2.在进行修改的时候用了下面的方法
def edit_agent
if request.get?
@agent = Agent.find(params[:id])
else
agent = Agent.find(params[:id])
agent.name = params[:name]
agent.part = params[:part]
agent.person = params[:person]
agent.sex = params[:sex]
agent.phone = params[:phone]
agent.mobile = params[:mobile]
agent.lingtong = params[:lingtong]
agent.fax = params[:fax]
agent.address1 = params[:address1]
agent.address2 = params[:address2]
agent.qq = params[:qq]
agent.msn = params[:msn]
agent.email = params[:email]
agent.favor = params[:favor]
agent.second_person = params[:second_person]
agent.second_phone = params[:second_phone]
agent.memo = params[:memo]
if agent.save
flash[:notice] = "<img src='/images/ok.gif'><font color='green'>#代理商#{agent.name}已经成功修改!</font>"
redirect_to(:action=>'list_agent')
end
end
end
我觉的用下面的方法就可以了
def edit_agent
if request.get?
@agent = Agent.find(params[:id])
else
agent = Agent.find(params[:id])
if agent.update_attributes(params[:agent])
flash[:notice] = "<img src='/images/ok.gif'><font color='green'>#代理商#{agent.name}已经成功修改!</font>"
redirect_to(:action=>'list_agent')
end
end
end
3.在control中存在类似@params这样直接使用实例变量的地方。我觉的还是使用访问子的方式params[:XXX]比较好
4.在前态页面最好使用rails提供的帮助方法,如果想自己写静态标签也应该和rails提供的帮助方法生成的静态标签相同的,不要出现下面的代码
<input type="text" value="<%=@family.name%>" name="name">
这样到contorl里面只能大量的使用params[:XXX]
5.如果使用下面的代码
<%= form_tag %>
<%= end_form_tag %>
在control/action里面如果还想重定向到当前的action里面,那么就不用在action里面再写redirect_to了。毕竟rails的哲学是Don't repeat yourself
再次重申一下,上面的一切内容都是从纯技术的角度看待hamster,也许在hamster的最新版里已经没有现在的情况了(自己比较懒没有跟踪最新版,我说的这五点可能也有不对的地方)同时要感谢hamster的原作者们在业余时间写了hamster,为我们学习ror提供了良师易友
我现在在学习Mephisto,不知道大家都在学什么
分享到:
相关推荐
《Source Insight v3.50.0027:深入解析高效源代码分析工具》 Source Insight是一款广受程序员喜爱的源代码查看、编辑和分析工具,尤其在软件开发领域,它以其强大的功能和高效的性能著称。版本v3.50.0027是该软件...
RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为...通过学习和实践这些经验,开发者可以更好地应对RoR性能挑战,创建出更健壮、高效的Web应用。
Source.Insight.v3.50.0027-ROR 里面有注册机,可以下载
在Ror块中,不仅有常规的残差学习,还有更高层次的残差学习,即残差学习的残差。这种多层次的结构使得网络能更细致地理解特征,并且有助于减少过拟合,提高模型的泛化能力。 **CIFAR-10和CIFAR-100数据集** CIFAR-...
在提供的压缩包文件中,我们可以看到"Ruby语言中文教程",这暗示了资源可能包含了关于Ruby语言的基础知识和进阶内容,对于学习RoR至关重要。Ruby是RoR的基础,理解其语法和特性对于掌握RoR框架极其关键。 **Ruby...
NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696
ASP.NET、C#和J2EE/Java是RoR的主要竞争对手,它们各自有各自的优点和适用场景,了解这些技术可以帮助你比较和选择最适合的开发工具。 在深入研究RoR源代码时,建议先从官方文档和开源项目开始,例如GitHub上的...
【标题】"learnRoR:艰难地学习RoR"揭示了这个项目是关于学习Ruby on Rails(RoR)框架的个人历程。RoR,或Rails,是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它完全用Ruby编程语言编写。Ruby是一...
### Windows上搭建Ruby on Rails(ROR)环境详解 #### 一、引言 随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows...
"ror实例"可能指的是在学习或实践中,通过创建一个具体的Rails应用程序来理解和掌握RoR的工作原理和最佳实践。 在Ruby on Rails中,重要知识点包括: 1. **Gemfile与Gemfile.lock**:项目中的Gemfile用于指定项目...
**初探ROR** Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进...通过学习和实践,你将能够利用ROR构建出功能强大、易于维护的Web应用程序。
在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...
基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。
《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...
### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...
### RoR培训课程PPT知识点概述 #### 一、课程概览与背景介绍 - **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter ...
在IT行业中,Ruby on Rails(简称ROR)是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发过程,提高开发效率。本文将深入探讨如何配置ROR开发环境,以及...
ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...
FreeMIS是一个基于Ruby on Rails(RoR)框架构建的管理信息系统(MIS)。RoR是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它遵循“Don't Repeat Yourself”(DRY)原则,强调简洁和生产力。RoR使用...