ruby

(J)Ruby on Rails 초보의 에러 해결 로그

1. Cygwin Rails issues “/dev/urandom” not found
Cygwin Rails issues “/dev/urandom” not found – Ruby on Rails: Talk | Google 그룹스

cygwin_install_dir\lib\ruby\gems\1.8\gems\rails-2.0.2\lib\rails_generatorsecret_key_generator.rb

def generate_secret_with_urandom
puts "Before Read" # <-- 추가
return File.read("/dev/urandom", 64).unpack("H*")[0]
end

ruby 1.8.6 릴리즈 후 Cygwin 변경이 되어서라는데 1.9.* 대에서는 수정되었다고 한다.

2. rails 업데이트 후 갑자기 ‘wrong number of arguments …’ 에러 발생

  • config/environment.rb 의 RAILS_GEM_VERSION 값을 현재 Rails 버전으로 변경
  • 간혹 나처럼 window 용 ruby, cygwin에 ruby, jruby 등이 같이 설치되어 있을 경우 각각 별도의 RubyGems를 사용하여 패키지가 설치/관리될 수 있으므로 각각의 RubyGems와 gem 으로 설치된 패키지들의 버전을 일치시켜 줄 필요있다 ( 안그러면 은근히 황당한 에러 만날 수 있다 ㅎ)

3. rails 1.* -> 2.* 업데이트 후 session 처리 관련 에러
‘superkdk in the NET.’의 Rails2.0의 CookieStore 에 깔끔히 잘 정리되어있다.

요는 v1.* 와 v2.* 의 세션값 저장 처리 방식이 변경되었으므로 config/environment.rb 에 다음과 같은 식으로 세션의 secret 값을 넣어줘야 한다. ( 물론 rails 2.0 으로 프로젝트 생성하면 자동으로 이 secret 값 생성된다 )

config.action_controller.session = {
:session_key => '_my_app_session',
:secret => 'at_least_30_characters'
}

Powered by ScribeFire.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s