Rails 프로젝트 생성 - (3) -

2008.08.07 15:43
 
 
이번에는 Ruby의 MVC 규약에 맞춰서 뷰를 생성하겠습니다.

/app/views/hello/ 에 index.rhtml 파일을 생성한다.
사용자 삽입 이미지

생성된 파일에 브라우저에서 보여질 태그를 작성한다.
<h1>Hello#index</h1>
<p>=Ruby HelloWorld Test=</p>

생성한 hello_controller.rb 파일을 다음과 같이 수정한다.
class HelloController < ApplicationController
  def index
    @hello_message="Hello Ruby!"
  end
end
html 파일에 화면에 렌더링할 부분을 추가한다.
<h1><%= @hello_message %></h1>
브라우저에 다시 접속해 보자.

사용자 삽입 이미지

루비에서 지정한 메세지가 화면에 보여지게 된다.

약간의 코드 작성으로 MVC 모델이 적용된 프로젝트를 작성해 보았다.
앞으로도 Rails를 사용한다면 쉽게 개발이 가능할것이라는 생각이 들었다.

그렇지만 아직 Ruby라는 언어에 대해서 잘 모르니 공부가 더 필요하다.





신고

슈플 프로그래밍/Ruby on Rails

  1. 간만에 꾸며보니

Rails 프로젝트 생성 - (2) -

2008.08.07 15:31
 
 
이제 생성한 프로젝트에 컨트롤러를 만들어 보겠습니다.
컨트롤러는 루비 언어로 작성되게 됩니다.

생성한 프로젝트의 /app/controllers 폴더에
hello_controller.rb 파일을 생성합니다.
사용자 삽입 이미지

생성한 파일에 다음 코드를 작성합니다.
if __FILE__ == $0
  # TODO Generated stub
end

class HelloController < ApplicationController
  def index
    render :text => "<h1>Hello World!</h1>"
  end
end

간단히 설명하자면 HelloController 라는 클래스를 작성합니다. < 표시는 상속을 의미합니다.
루비의 클래스 상속은 자바처럼 단일 상속만 지원 한다고 합니다. 일단 예제에 나와있는 것처럼 ApplicationController 를 상속받고 index 라는 메소드를 작성합니다.

다음으로 데이터베이스를 설정합니다.

/config/database.yml 파일을 열어보면 다음과 같은 내용들이 나옵니다.

development:
  adapter: oracle
  database: Hello_development
  username: Hello
  password:

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: oracle
  database: Hello_test
  username: Hello
  password:

production:
  adapter: oracle
  database: Hello_production
  username: Hello
  password:

여기서 각 항목에 현재 시스템의 데이터베이스를 설정한다.
데이터베이스가 설정이 안되어 있을 경우 서버가 시작을 못한다.

다음과 같이 설정하면 제대로 작동할 것이다.
  adapter: oracle
  database: XE
  username: root
  password: 123456

콘솔창에 다음과 같은 내용이 뜬다면 서버가 제대로 로딩 된 것이다.

** Mongrel 1.1.5 available at 127.0.0.1:3000
** Use CTRL-C to stop.

이제 웹브라우저에서 다음에 접속해보자.
http://127.0.0.1:3000/hello/index

사용자 삽입 이미지

컨트롤러에서 작성한 코드가 잘 보여지게 된다 .
따로 컨텍스트를 지정하지 않았는데도 잘 보여지는 이유는 다음과 같다.

웹 서버는 들어오는 요청을 디스패쳐(dispatcher)라고 부르는 레일즈 프레임워크 내부의 루비 스크립트로 연결시키게 됩니다. 레일즈는 각 웹 서버 마다 하나의 디스패쳐가 존재하고, 이 디스패쳐는 URL을 분석하여 적절한 컨트롤러의 액션을 호출하게 됩니다. 그다음 컨트롤러의 액션은 모델을 호출하고 마지막으로 뷰를 호출하게 됩니다.


신고

슈플 프로그래밍/Ruby on Rails

Rails 프로젝트 생성 - (1) -

2008.08.07 15:09
 
 
이클립스에서 Rails 프로젝트를 생성한다.

프로젝트 명에 'Hello'를 입력하고 오라클 데이터베이스를 선택한다.
사용자 삽입 이미지

콘솔창에 프로젝트 파일들을 생성하는게 보인다.

Rails 네이밍 컨벤션에 맞춰서 파일과 폴더들이 생성된 것이 보인다.

사용자 삽입 이미지

Mongrel 서버가 동작하고 있는 것을 확인할 수 있다.
사용자 삽입 이미지


이제 웹 브라우저를 열고 http://127.0.0.1:3000 에 접속해 보자.
다음과 같은 화면이 보인다면 제대로 돌아가고 있는 것이다.
사용자 삽입 이미지

신고

슈플 프로그래밍/Ruby on Rails

윈도우에서 Ruby 개발환경 만들기 - (2) -

2008.08.07 14:56
 
 
이번에는 본격적인 개발에 앞서 이클립스 개발환경과 Ruby on Rails를 연동하는 방법을 알아보겠습니다.

이클립스에 RadRails라는 플러그인을 설치함으로써 사용이 가능하게 됩니다.

================================================================================
사용자 삽입 이미지

http://www.aptana.com/rails/ 에서 aptana 용 이클립스 플러그인을 다운 받는다.


이클립스에서 software update -> find and install  ->Search for new features to install 선택

사용자 삽입 이미지


다운로드 받은 이클립스 플러그인을 New Archived Site에서 추가 한후 RadRails를 선택하여 플러그인을 설치하도록 한다.

혹은 New Remote Site에 다음 주소를 추가해줘도 된다. http://update.aptana.com/install/studio/3.2/

사용자 삽입 이미지


현재까지는 이클립스 3.3  버전만 지원하므로 이클립스 3.3 버전 사용을 권장한다.

3.4 버전에서 사용하고 싶을때 General > Capabilites 에서 Classic Update 박스를 체크한다.


플러그인 설치를 완료하였다면 이클립스에서 환경설정을 해주어야 한다.

   Rails Path에 /ruby/bin/rails 경로를 찾아서 입력해준다.
 Mongrel_rails Path에 /ruby/bin/mongrel_rails 경로를 찾아서 입력해준다.

사용자 삽입 이미지


rake path에 /ruby/bin/rake 경로를 설정한다.

사용자 삽입 이미지


Ruby 탭에서 Installed Interpreters에 설치한 Ruby를 지정한다.

사용자 삽입 이미지

환경 설정이 끝났으므로 Rails 프로젝트를 생성하면 된다.


================================================================================

* 참고 :
신고

슈플 프로그래밍/Ruby on Rails

윈도우에서 Ruby 개발환경 만들기 - (1) -

2008.08.07 14:28
 
  언제 부턴가 Ruby on Rails에 대해서 흥미가 생기기 시작했습니다.
단순해서 아직까지는 뭔가 개발을 해보지는 못하겠고 개발 환경을 세팅하는데 만족합니다.
이번을 계기로 더 알아 가야겠다는 생각을 했습니다.

다음은 윈도우 환경에서 Ruby on Rails 개발 환경을 만드는 일입니다.
요즘 우분투를 많이 못쓰는 바람에 윈도우에서 작업하게 되었습니다. oTL
그렇지만 우분투역시 윈도우환경과 설정 방법에서 차이가 없을 것으로 봅니다.
==================================================================================
사용자 삽입 이미지

1. 개요

Rails 를 구동하기 위해서는 다음과 같은 것들이 필요하다.

* 루비 인터프리터: 스크립트 언어 해석기
* 루비 온 레일즈: 레일즈 프레임워크
* 라이브러리: 필요한 라이브러리를 가져다 사용 [선택사항]
* 데이터베이스: Oracle XE를 기준으로 설명하도록 함


2. Ruby 설치

다음 링크에서 Ruby를 다운 받도록 한다 .

http://www.ruby-lang.org/ko/downloads

각자 환경에 맞는 파일을 받아서 설치한다.

여기서는 윈도우 환경에서 설치할 것 이므로 윈도우용 바이너리를 받아서 설치한다.

인스톨러형태로 제공하므로 설치가 간편하다.

우분투환경에서의 루비설치 역시 간편하다.

사용자 삽입 이미지

설치를 완료하였다면 커맨드 창을 열어서 다음 명령등으로 Ruby가 제대로 실행되는지 확인해 본다.

>gem -v

사용자 삽입 이미지


3. Rails,Rake, Mongrel의 설치

Ruby가 설치되었다면 Rails ,Rake Mongel 서버를 설치한다.

Ruby는 gem 이라는 패키지 관리자로 프로그램을 설치하기 때문에 설치가 간단하다.

커맨드 창에서 다음을 입력한다.

gem install rails --include-dependencies
gem install rake --include-dependencies
gem install mongrel --include-dependencies

시간이 조금 걸리지만 설치가 완료될 것이다.


4. 오라클 연결

여기서는 오라클을 사용하기로 한다.

ruby 오라클 연결 지원 기능을 설치한다.

http://www.rubyforge.org/projects/ruby-oci8 에서 Ruby Interface for Oracle을 다운로드 한다.


이 소프트웨어는 표준 Oracle Client 소프트웨어 또는 Instant Client가 설치된 Oracle Database 8, 9i, 10g 환경을 위한 인터페이스를 제공합니다. 다운로드할 때 Windows 버전을 선택했는지 분명히 확인하시기 바랍니다. Ruby 프로그램을 다운로드한 디렉토리(본 문서의 예제 구성에서는 "ruby-oci8-0[1].1.13-mswin.rb"가 사용되었습니다)로 이동합니다. 그런 다음 아래 명령을 실행하고 프롬프트가 뜨면 "Yes"를 선택합니다:

C:\>ruby ruby-oci8-0[1].1.13-mswin.rb

Copy OCI8.rb to c:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8
Copy oci8.rb to c:/ruby/lib/ruby/site_ruby/1.8
Copy oci8lib.so to c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
OK?
Enter Yes/No: Yes
Copying OCI8.rb to c:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8 ... done
Copying oci8.rb to c:/ruby/lib/ruby/site_ruby/1.8 ... done
Copying oci8lib.so to c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt ... done
OK

다음으로 오라클 어댑터를 설치한다.
gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org --no-ri --no-rdoc

4-2. 오라클 연결 테스트

오라클연결이 제대로 되는지 확인하려면 다음 형식으로 명령을 작성해서 실행해 본다.


[테스트 명령]

ruby -r oci8 -e "OCI8.new('계정', '패스워드', 'XE').exec('테스트 쿼리') do |r| puts  r.join(' | '); end"

[결과 화면]

사용자 삽입 이미지
 

* 참고 : http://chery.tistory.com/97

http://www.aidobb.net/68

신고

슈플 프로그래밍/Ruby on Rails

티스토리 툴바