正在加载...

PF BLOG

转载:Rails "Plugin not found"错误解决

使用Ruby 1.8.7和Rails 2.3.5,每次执行script/plugin install ...都出现

	Plugin not found: [...]
无论是使用http协议,还是在末尾添加斜杠都不起作用。
 
出现这个问题的原因是因为Ruby 1.8.7是用mingw32编译的,可以通过ruby -v查看:
	$ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i386-mingw32]

» 阅读全文

转载:Servlet四种过滤器的工作方式

 

从J2EE1.3开始,Servlet2.3规范中加入了对过滤器的支持。过滤器能够对目标资源的请求和响应进行截取。过滤器的工作方式分为四种,下面让我们分别来看看这四种过滤器的工作方式:

 
  1、request过滤器 
  这种过滤器的工作方式比较简单,大家也经常遇到,如下所示:以下是web.xml文件配置方式: 

<filter>
<filter-name>myFilter</filter-name> 
    <filter-class>packagename.MyFilterName</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>myFilter</filter> 
    <servlet-name> 目标资源</servlet-name> 
    </filter-mapping> 
    <filter> 

» 阅读全文

UniDAC 的 RecordCount 属性注意事项

一直以来都是用UniDAC作为数据库查询组件,而一般的写法都是这样:

UniQuery_sqlite.close;
      UniQuery_sqlite.SQL.Clear;
      UniQuery_sqlite.SQL.Add('SELECT * FROM TABLE');
      try
        UniQuery_sqlite.Open;
      except
        { TODO : 异常捕获 }
      end;
      //循环出所有记录
      for i := 0 to UniQuery_sqlite.RecordCount - 1 do
      begin
         //....
         UniQuery_sqlite.Next;
      end;

» 阅读全文

J2EE项目import com.sun.java_cup.internal.internal_error;报错原因浅析及解决办法

从公司成立测试部之后,很多问题都被及早地暴露了出来,如果能把问题消灭在萌芽中,那是最愿意看到的事情。最近从公司SVN服务器导出一个项目准备测试,但是出现问题了,项目报错,找到了错误文件,发现是引入 com.sun.java_cup.internal.internal_error 的时候错误,但是同样的代码在同事的机子上就没有问题,我就纳闷了,肯定是环境问题了。

» 阅读全文

Rails中的Migrations详解(PDF下载)

在Javaeye看到的好文章,整理成PDF格式供初学Rails的朋友下载:

rails中的migrations.pdf

redmine 1.1.1 基础环境版本要求

前段时间因为没有认真阅读readme和update.log吃了不少苦头,反复地折腾运行环境(感觉ruby和rails最糟糕的就是不同版本兼容性太差了),现在终于能够对这些gems的版本要求完全掌握了,redmine 1.1.1 目前需要以下环境:

ruby 1.8.7    
rails 2.3.5  
gem 1.3.5  
rack 1.0.1
i18n-0.4.2.gem   
rake-0.8.7.gem 

#当然在gem install rails -v=2.3.5 的时候还会自动安装上:

actionmailer-2.3.5.gem   
actionpack-2.3.5.gem   
activerecord-2.3.5.gem   
activeresource-2.3.5.gem   
activesupport-2.3.5.gem 

看准这些,除了ruby必须是1.8.6/1.8.7之外,任何一个gem包的版本错误都可能造成应用出错。今后的版本问题请认真读redmine官网上的update.log,每一次升级都会注明所依赖的环境版本。 

» 阅读全文

thin 安装失败一例的解决方法

ruby(1.8.7)下安装thin的时候遇到一下错误提示:

C:\Documents and Settings\Administrator>gem install thin
ERROR:  Error installing thin:
	The 'eventmachine' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

折腾半天,原来是默认eventmachine版本不匹配造成的问题,于是试了下最新版(预览版):

gem install eventmachine --pre

安装成功以后,再试一下gem install thin发现问题已经解决了。

关于Rails数据库表名必须用复数形式单词的问题

初学Rails的TX都可能会遇到这个疑惑:Rails的数据库名为什么被约定为复数形式?

其实,这只是个约定而已,为了减少在运用过程中反复的指定,提高效率,同时减少出错机会。但是有的人就感觉很不爽了,毕竟英语的复数形式不单单是加个S就通吃的,比如Person的复数形式为People,新建个名称为person的models,数据库表名却需要起成people,这样的单词多了,英语不好的有可能会遇到这个问题。

那么灵活的ROR肯定不会这么死板,完全在于你的定制(配置),要想去掉这个约定,只需要在environment.rb里加上:
 

ActiveRecord::Base.pluralize_table_name = false

rails初学者的疑问——冒号(:)

#示例:
class AttachmentsController < ApplicationController
  before_filter :find_project
  before_filter :file_readable, :read_authorize, :except => :destroy
  before_filter :delete_authorize, :only => :destroy
#...省略

先打断一下Rails,说说Ruby语言里的一个特色--由冒号(:)作前缀组成的字符串,例如:id,:first等等。Ruby把它们称之为symbol(直译为“符号”,似乎不妥)。

» 阅读全文

redmine :rake db:migrate RAILS_ENV="production" 错误解决办法

在初始化redmine数据库的时候可能你会出现这样的错误:

E:\ruby\redmine>rake db:migrate RAILS_ENV="production"
(in E:/ruby/redmine)
rake aborted!
syntax error on line 8, col 2: `  encoding: utf8'

(See full trace by running task with --trace)

 

解决办法:

在redmine目录下config/database.yml 中配置mysql连接密码时应在密码前加一个空格:

# MySQL (default setup).

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: 123456
  encoding: utf8

其实,只要在修改配置文件的时候,把行都对齐,格式统一就不会出现此类问题了。

Total: 31Page 2 of 4‹ Prev1234Next ›