`

用ROR开发了一个小的报名系统的技术总结

阅读更多

用ROR做了一个很小的报名系统.

系统环境写道
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
Rails 2.1.0
 
写道
1. 控制器的重名问题 ,需要注意和controller已有的方法名字冲突
2. 版本不向前兼容
3. 虽然在开发模式下,不过新添加一个controller的时候仍然需要重启服务器
4. 分页的成了一个插件 will_paginate
5. 数据库设计弄巧成拙(不需要将结构拆分的很细,从一定程度上会影响性能.特别是跨表查询,建议用空间换时间)
6. 利用过滤器验证时候的那个正则表达的头尾问题 /^........$/
7. 需要注意正则表达式终端特殊语意转义符号
8.ActionController::InvalidAuthenticityToken 异常一般出现出现在手写的html form 标签和Ajax请求中,为什么会出现这个异常呢,这是从rails 2.0 开始包含的一个新功能,目的在于防止CSRF (Cross-Site Request Forgery)攻击.rails 为了保证当前的请求是来自自己的请求,而不是通过其他网站伪造的请求,都会在生成的form 里加入一个隐藏的值. 使用中主要是组件的时候会碰到这种问题
9. 类变量 @@ var, 访问控制: cattr_reader :var
10. 写 <%= render :partial = '' %> 的时候务必把里面的路径写完全
11. 合理的修改内置库(主要是解决IE和firefox对div的解析不同)
#To set the div to span in the error css
ActionView::Base.field_error_proc = Proc.new {|html_tag, instance| %(<span class="fieldWithErrors"> #{html_tag}</span> )}
12. 好像mysql在win和linux下解析有点问题
def format_attr
   a = self.attr
   if a&&a!='' then
      a = a[0,a.index(@@FG_LABEL)].to_i
   end
end
13. 数据库建立视图的时候为什么会有特征标记
CREATE OR REPLACE ALGORITHM=UNDEFINED DEFINER=`testmysql`@`%` SQL SECURITY DEFINER VIEW `accountinfos` AS select `accounts`.`id` AS `id`,`accounts`.`email` AS `email`,`basicinfos`.`name` AS `name`,`exams`.`eplace_id` AS `eplace_id`,`exams`.`bnumber` AS `bnumber`,`exams`.`znumber` AS `znumber`,`relationinfos`.`cellphone` AS `cellphone`,`relationinfos`.`phone` AS `phone`,sum(`scores`.`mark`) AS `mark_sum`,`statuses`.`sta` AS `sta`,`statuses`.`field_id` AS `statuses_field_id` from (((((`accounts` join `basicinfos`) join `exams`) join `relationinfos`) join `scores`) join `statuses`) where ((`accounts`.`id` = `basicinfos`.`account_id`) and (`accounts`.`id` = `exams`.`account_id`) and (`accounts`.`id` = `relationinfos`.`account_id`) and (`accounts`.`id` = `statuses`.`account_id`) and (`scores`.`exam_id` = `exams`.`id`)) group by `accounts`.`id`;
14. 数据库设计不当,一方面是太理论化,另外一方面是自己太过于依赖工具activerecord.好是好,不过我没有学到核心,其实其内部性能不是很好的.系统的数据库表设计在初期存在过度设计的问题。
15. 前期决策有误(主要是经验不足,后期的需求变更,直接下到了数据库的变化)
16. ROR目前没有很好的报表解决方案,我通过大量的将其转化问html来实现打印效果不佳。
17. 单双引号的问题.''里面是什么样子显示设了吗样子, ""对里面的#{var}做转化
18. 关于那个观察Observer 新版本发生了变化.我不太会用了 .
19. 如何解决系统默认的show,和链接的问题.
20. 什么是RESTful routes,如何更好的利用这个东西;什么是rjs模板文件,如何更好的ajax相结合.
21. 有人提出更改后缀名以达到迷惑作用,这个有什么好的解决方案吗?
22. 带有命名空间的控制器,如何更好的写routes.rb来实现跳转
23. ruby不是java,而且语法结构相差还是很大的.不要弄混了.譬如它不支持: a=1; a++  
分享到:
评论

相关推荐

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    机遇ROR 的图书管理系统

    《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...

    RoR性能优化经验谈

    总之,RoR性能优化是一个全面的过程,涵盖从操作系统到Web服务器配置,再到代码本身的改进。每个环节的优化都能显著提升网站的运行效率,使RoR应用能够更好地应对高负载和大规模用户的需求。通过学习和实践这些经验...

    Windows 上搭建 ROR环境

    随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows环境下搭建Rails开发环境却让不少初学者感到头疼。本文将详细介绍...

    ror中文资料

    Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”,提供了一套完整的工具链,使得开发者...

    基于RoR的在线考试系统

    总结来说,基于Ruby on Rails的在线考试系统开发是一项综合性的任务,涉及后端逻辑、数据库设计、用户交互等多个层面。通过合理利用RoR的特性,我们可以构建出功能完善、易用性强、安全性高的在线考试平台,为教育...

    ROR安装必备所有架包

    在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    初探ROR

    Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat Yourself”(DRY,...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    ror实例

    "ror实例"可能指的是在学习或实践中,通过创建一个具体的Rails应用程序来理解和掌握RoR的工作原理和最佳实践。 在Ruby on Rails中,重要知识点包括: 1. **Gemfile与Gemfile.lock**:项目中的Gemfile用于指定项目...

    神经网络ror resenet模型

    ResNet的核心是引入了“残差块”(Residual Block),通过引入一个恒等映射(Identity Mapping)的跳跃连接(Skip Connection),使得网络能够更轻松地学习到输入数据的微小变化。在每个残差块中,输入信号可以直接...

    ROR环境配置

    总结来说,配置ROR开发环境包括安装Ruby、Rails,创建ROR项目,以及在Eclipse中设置ROR插件和导入项目。在Eclipse中进行ROR开发,可以充分利用其丰富的功能,提升开发效率。理解并熟练运用ROR的MVC架构和相关工具,...

    freemis 基于ror框架的mis

    总结,FreeMIS是一个运用了Ruby on Rails强大特性的管理信息系统实例,它体现了敏捷开发的理念,为开发者提供了快速构建企业级应用的平台。无论你是初学者还是经验丰富的开发者,都可以从中学习到关于Web应用开发的...

    ubuntu 10.10系统安装及vim(ROR)开发环境完整配置

    在本文中,我们将深入探讨如何在Ubuntu 10.10操作系统上进行系统安装,并配置一个完整的Vim编辑器环境,以便进行Ruby on Rails(ROR)开发。Ubuntu 10.10,代号“Maverick Meerkat”,是Ubuntu的一个老版本,但依然...

    從 PL/SQL 中調用 ROR 创建的 Web 服务

    ROR 是一个流行的开源 Web 应用框架,它基于 Ruby 语言,而 PL/SQL 则是 Oracle 数据库中的过程式编程语言。这篇文章或教程可能是关于如何整合这两种技术,以实现数据库后端与 ROR 前端之间的通信。 PL/SQL 是 ...

    javarebel 用JAVA和ROR一样方便测试

    破解版本的JAR包,放到本地磁盘,ECLIPUS直接用,到JVM设置直接加 -noverify -javaagent:D:\javarebel.jar

    我的ror的第一天

    标题 "我的ror的第一天" 暗示了这是一个关于Ruby on Rails(简称RoR)的初学者经验分享,RoR是基于Ruby语言的开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程更加高效。 在描述中提到的...

    RoR 培训课程PPT

    - **实战项目**:通过实际构建项目来加深对理论知识的理解,推荐尝试开发一个简单的博客系统或电子商务平台。 #### 四、结语 通过这五天的培训课程,学员将能够熟练掌握RoR的基本开发技能,并具备独立构建完整Web...

    ROR 文件的上传与下载

    在给定的示例中,使用MySQL数据库创建了一个名为`records`的表,其中包含两个关键字段:`name`和`person`。`name`字段用于存储上传文件的名称,而`person`字段则是一个`MEDIUMBLOB`类型,用于保存上传文件的二进制流...

Global site tag (gtag.js) - Google Analytics