- 博客(12)
- 资源 (11)
- 收藏
- 关注
翻译 RailsCasts中文版,#24 The Stack Trace 利用异常堆栈调试问题
程序运行中难免遇到异常,当系统抛出异常后,Rails会显示如下的一个页面。在开发过程中你经常会看到。显示异常信息的页面。这个页面中列出错误信息及异常堆栈。第一眼看过去可能有点晕,不过这些信息会为你定位问题提供很大的帮助(页面比较长,截图是其中的一部分)。在具体分析眼前这个错误之前,先介绍一下什么是异常堆栈。什么是异常堆栈?在irb中,我们抛出一个异常。Ruby框架会根据
2012-12-23 11:44:40 3316
翻译 RailsCasts中文版,#23 Counter Cache Column 计数器缓存字段
和上一篇一样,咱们聚焦于ActiveRecord数据库查询性能这个话题。如下图所示,页面列出一系列项目(Project)以及其中包含的任务(Task)数。以下是ProjectsController和index.html.erb。class ProjectsController < ApplicationController def index @projects = Pro
2012-12-12 01:14:21 4672
翻译 RailsCasts中文版,#21 Super Simple Authentication 一个简单的认证实现
在上一篇中,演示了如何根据当前登陆的用户是否具有管理员权限来显示或隐藏指向文章管理的链接。实现方式是通过在ApplicationController中增加一个admin?方法,如果方法返回true则显示,否则隐藏这些链接。接下来是如何实现这个方法的逻辑,应该是根据登陆用户的情况决定是否显示。有多种实现方法可以通过多种方式来实现一个登陆系统。可以从模型到界面自己开发一套,当然可以借助于一个名
2012-12-10 22:28:09 3208
翻译 RailsCasts中文版,#22 Eager Loading 贪婪加载(级连查询)
要想试图优化你的Rails应用,首先应当把目光投向数据库访问操作。减少对数据库的访问次数能对应用的运行效率产生巨大的提升作用。下面来介绍一种叫做贪婪读取的技术这个示例应用包含两个模型分别是任务(Task)和项目(Project)图中的页面列出了一系列任务以及每个任务所属于的项目。在TaskController代码里便利所有的任务,在视图中通过循环将他们一一列出。Tasks
2012-12-09 19:16:14 4281
原创 Ruby on Rails,一对多关联(One-to-Many)
在上一篇文章中,我们知道通过has_one和belongs_to方法定义一对一关联关系。接下来是更常见的情况,一对多关联。比如老师与所教课程的关系,一个老师负责多个课程。换成对象之间的关系就是:一个老师has may课程,课程belongs to老师。
2012-12-09 13:34:02 11558
原创 通过非本机访问MySQL报 ERROR 2003 和 ERROR 1130 问题解决方法
环境如下MySQL安装在192.168.137.100 Ubuntu 12.04 LTS客户端在 192.168.137.200 win7客户端希望访问MySQL数据库,会出现如下错误“ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.137.100' (10061)”C:\>mysql -h
2012-12-08 13:58:49 7696
原创 Ruby on Rails,一对一关联(One-to-One)
在上一篇文章中,我们列举了对象之间可能出现的关联关系。接下来,逐个分析一下每一种关系如何在Ruby on Rails中实现和使用。场景1:一对一关联一般用于一个东西A有且只有一个B,比如 雇员 has_one:电脑 教室 has_one:老师他们的特点是,对象之间存在唯一的拥有关系。如果一个雇员也可以有多台电脑,不过这就不是今天的话题了,那是一对多关系(On
2012-12-08 11:22:36 7218
原创 Ruby on Rails,一次讲透对象之间的关联关系,永远忘不了
在之前的多篇文章中,我们学会了针对单个模型的数据库单表增删改查操作。很显然这种简单的逻辑是满足不了实际需要的。通常情况下,我们需要建立多个相互关联的对象,使用相互关联的表进行数据存储。对于一个CMS系统来说,一篇文章可能有多个标签。想要显示文章的标签,最原始的作法是:根据文章的id查询查询数据库得到文章对象后,根据其中存储的标签id列表,再进行一次数据库查询得到这篇文章拥有的所有标签对象。这种
2012-12-02 15:52:38 7727 2
翻译 RailsCasts中文版,#20 Restricting Access 为页面增加权限校验2
限制访问权限在上一篇中,我们在文章列表页增加了编辑和删除操作的连接,暂时还没有进行访问控制;以至于所有访问者都能看到并进行操作。本应是管理员看到的按钮对所有人可见了。下面为这些按钮增加权限,在连接元素外面包一个edit方法的调用,只有返回true了才可见。 Tags: "Are you sure?",
2012-12-01 20:59:31 1963
翻译 RailsCasts中文版,#19 Where Administration Goes 为页面增加权限校验1
接下来的三讲中,我来介绍一种为站点增加管理员权限的最佳实践。最初的时候(如上图所示),页面没有进行文章管理的能力;所有操作都是在Rails Console通过命令行或更土一点直接修改数据库完成的。后来的版本里为站点增加了通过页面操作进行管理的能力,不过是开发独立的管理页面方式实现。这种实现方式肯定是可以用的,但肯定不是最好的方案,因为这当中存在大量重复的劳动。比如说文章列表,首
2012-12-01 20:23:46 1919
原创 apache服务器安装以及使用passenger插件部署rails应用,基于ubuntu 12.04 LTS
小例子可以部署在rails自带的WEBrick上,逐渐往后走还得上Apache。安装apache服务器命令是sudo apt-get install apache2安装passenger插件安装完毕还不能立刻用,因为想运行rails应用的话,还要为apache服务器安装插件passenger。passenger是一个gem包,安装命令是gem install passeng
2012-12-01 12:51:13 7910 1
原创 忘记MySQL root密码解决方法,基于Ubuntu 12.04 LTS
忘了mysql密码,从网上找到的解决方案记录在这里。编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行“skip-grant-tables”。重启mysql服务abbuggy@abbuggy-ubuntu:~$ sudo service mysql restartmysql stop/waitingmysql start/ru
2012-12-01 00:20:25 10146 2
磁盘整理smartdefrag2
2011-08-31
Notepad_5.9.3
2011-08-31
ToDoList任务管理软件6.2
2011-08-30
yaoyuhang要的自动截屏工具
2010-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人