RailsCases33 Making a Plugin 创造插件

In the last episode we showed how to edit a datetime column with a text field, rather than with a series of dropdown menus. The date and time for a t...

2014-09-05 16:14:07

阅读数:552

评论数:0

RailsCasts32 Time in Text Field 时间类型的输入域

Above is an application that displays a list of tasks. Clicking on the edit link for a task takes us to the edit page for that task. The edit page us...

2014-09-05 15:47:26

阅读数:434

评论数:0

RailsCasts31 Formatting Time 时间的格式化

task模型有个datatime型的属性due_at ,现想在每个task后将due_at展示出来。 编辑 /app/views/tasks/index.html.erb,使得due_at均显示在task后。 ruby "taskList"...

2014-09-05 14:19:29

阅读数:870

评论数:0

RailsCase29 group_by Month 分组函数group_by

在大多数的rails应用中,很多都涉及到分组,如task模型有due date属性,想将task按照月份进行分组,此时可使用group_by函数,下图为所有task的list。 为了了解group_by函数,可先了解如此的命令行: terminal >> a = (1...

2014-09-03 14:35:53

阅读数:1397

评论数:0

RailsCase27 Cross Site Scripting 跨站点脚本攻击

跨站点脚本是开发过程中经常需要考虑的安全问题。此种情形发生在允许用户直接输入html、javascript脚本时。在下述的website中,我们并没有过滤输入的内容,导致一些安全漏洞。 如果在输入框中输入由包围的内容,当页面被加载的时候,脚本将被执行,每次均将在前端展示。例如,如果输入aler...

2014-09-03 09:57:48

阅读数:927

评论数:0

RailsCast26 Hackers Love Mass Assignment rails中按params创建、更新model时存在的安全隐患

Mass assignment是rails中常用的将表单数据存储起来的一种方式。不幸的是,它的简洁性成了黑客攻击的目标。下面将解释为什么及如何解决。 上述表单为一个简单的注册表单。当用户填入name,点击提交时,一个新用户被创建。用户模型被如下定义: ruby creat...

2014-09-02 21:32:04

阅读数:1043

评论数:0

RailsCast25 SQL Injection SQL注入

真的有人会把他的孩子起名为 Robert'); DROP TABLE Students;吗? - XKCD No. 327 接下来的几篇,我们会讨论一些关于安全的话题,以免你的站点频频遭受黑客的攻击。其中第一个基本安全原则就是永远不要信赖来自用户的输入。在Rails中来讲就是说,从页面参数中...

2014-09-02 10:07:00

阅读数:460

评论数:0

RailsCast24 The Stack Trace 桟跟踪

程序运行中难免遇到异常,当系统抛出异常后,Rails会显示如下的一个页面。在开发过程中你经常会看到。 显示异常信息的页面。 这个页面中列出错误信息及异常堆栈。第一眼看过去可能有点晕,不过这些信息会为你定位问题提供很大的帮助(页面比较长,截图是其中的一部分)。在具体分析眼前这个错误之...

2014-09-02 09:45:04

阅读数:465

评论数:0

RailsCasts23 Counter Cache Column 计数缓存列

和上一篇一样,咱们聚焦于ActiveRecord数据库查询性能这个话题。如下图所示,页面列出一系列项目(Project)以及其中包含的任务(Task)数。 以下是ProjectsController和index.html.erb。 ruby class ProjectsCo...

2014-09-02 08:31:26

阅读数:484

评论数:0

RailsCasts22 Eager Loading 贪婪加载

要想试图优化你的Rails应用,首先应当把目光投向数据库访问操作。减少对数据库的访问次数能对应用的运行效率产生巨大的提升作用。下面来介绍一种叫做贪婪读取的技术 这个示例应用包含两个模型分别是任务(Task)和项目(Project) 图中的页面列出了一系列任务以及每个任务所属于的项目。在Ta...

2014-09-02 08:20:43

阅读数:465

评论数:0

RailsCasts21 Super Simple Authentication 超级简单的验证机制

在上一篇中,演示了如何根据当前登陆的用户是否具有管理员权限来显示或隐藏指向文章管理的链接。实现方式是通过在ApplicationController中增加一个admin?方法,如果方法返回true则显示,否则隐藏这些链接。接下来是如何实现这个方法的逻辑,应该是根据登陆用户的情况决定是否显示。 有...

2014-09-01 23:26:05

阅读数:446

评论数:0

RailsCasts20 Restricting Access 限制访问权限

限制访问权限 在上一篇中,我们在文章列表页增加了编辑和删除操作的连接,暂时还没有进行访问控制;以至于所有访问者都能看到并进行操作。

2014-09-01 23:20:33

阅读数:551

评论数:0

RailsCasts19 Where Administration Goes 管理员权限部署

接下来的三讲中,我来介绍一种为站点增加管理员权限的最佳实践。 最初的时候(如上图所示),页面没有进行文章管理的能力;所有操作都是在Rails Console通过命令行或更土一点直接修改数据库完成的。后来的版本里为站点增加了通过页面操作进行管理的能力,不过是开发独立的管理页面方式实现。 ...

2014-09-01 23:16:15

阅读数:584

评论数:0

RailsCasts18 Looping Through Flash 使用循环展现flash

有时layout文件中会展示几种flash messages;每种flash在展现前均会判断是否为nil,则均需要花费3行代码,如下: ruby ASCIIcasts 使用循环可有效的减少代...

2014-09-01 22:22:17

阅读数:622

评论数:0

RailsCasts17 HABTM Checkboxes 更新多对多的关系

两个model,Product and Category;彼此之间有has_and_belongs_to_many的关系;期望在编辑project时,同时编辑project与category之间的关系;编辑project的界面如下: 添加 checkboxes check_box ...

2014-09-01 22:09:46

阅读数:651

评论数:0

RailsCasts16 Virtual Attributes 虚拟属性

下面是一个用户注册表单,可以输入名、姓和密码。 数据库中也定义了这些字段: ruby create_table "users", :force => true do |t| t.string "first_name&quo...

2014-09-01 21:20:45

阅读数:491

评论数:0

RailsCasts15 Fun with Find Conditions find中的查询条件

这次我们来讨论一下关于find方法查询条件的话题。以下是Rails Console输出的SQL查询语句。对应的动作是查找所有优先级为3的未完成任务。 terminal >>Task.count(:all,:conditions=>["complete=...

2014-09-01 21:08:44

阅读数:471

评论数:0

RailsCasts14 Performing Calculations on Models 模型中预置的统计函数

你知道吗?ActiveRecord预制了好多对模型中数据进行统计计算的方法。我们拿Task类为例。类中有一个标明任务优先级的字段priority。打开Rails Console,查看操作的回显,其中SQL语句是方法在后台执行的查询。 查询第一个任务的优先级: terminal ...

2014-08-29 16:36:54

阅读数:419

评论数:0

RailsCasts13 Dangers of Model in Session 将model放在session中是危险的

In this episode we’ll show you why it’s a bad idea to store a model in the session. 在此结尾 ruby class UserController ApplicationControl...

2014-08-29 16:30:58

阅读数:554

评论数:0

RailsCasts12 Refactoring User Name Part 3 重构User name(三)

在上一篇和更前一篇里,我们讨论了与重构、测试有关的话题。截止上一篇结束时,完成了对User类的重构,但是测试用例代码还有些乱。让我们看看如何清理一下。 ruby require 'test_helper' class UserTest < ActiveSupport::TestCas...

2014-08-29 15:40:01

阅读数:459

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭