설명글이라기보단 간단한 나의 메모를 간략하게 적은 것이다.
1. routes를 이용한 주소 변경
흔히 link_to를 이용하여 다른 페이지로의 연결을 할때에는 [Controller_name]_[Action]_path 라는 형식을 이용했다.
예를 들어 say 컨트롤러의 hello 액션이 정의되어 있을 때 이 페이지로 접근하기 위해서는 아래의 URL로 접근을 해야한다.
"http://localhost:3000/say/hello"
이는 사용자에게 필요없는 정보를 제공해줄 수 있다.
이런 것을 방지하기 위해서 routes.rb 파일을 수정하여 접근하는 주소를 변경할 수 있다.
match '/signup', to: 'users#new', via: 'get' match '/hello' to: 'say#hello', via: 'get'
match - to - via를 이용하는 것인데 match는 어떤 주소로 접근을 할 것인지 나타내고, to는 controller와 action을 정의하여 페이지가 어디에 존재하는지를 나타낸다. 마지막으로 via는 어떤 방식으로 그 페이지를 가지고 오는지 정의를 한다.
2. generate를 사용하지 않고, controller를 추가하기
1) app/controllers 에 컨트롤러를 위한 새로운 파일을 생성한다.
> [controller_name].rb
2) 파일에 액션을 추가한다.
3) config/routes.rb 파일에 컨트롤러를 추가한다.
> get "controller_name/action name"
4) app/views 에 새로운 컨트롤러를 위한 디렉토리를 생성하여 view파일을 생성한다.
3. Boot strap 사용하기
1) Bootstrap Gem 추가
> Gemfile
gem 'bootstrap-sass', '2.3.2.0'
gem 'sprockets', '2.11.0'
2) bootstrap install
> bundle install
3) Web server restart
4) Bootstrap 과 Assets pipeline의 호환성을 위해서 설정 변경
> config/application.rb
...
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
5) Custom css 추가
> CSS 저장을 위한 파일 생성
> CSS File에 bootstrap import 시키기 (@import "bootstrap";)
> 추가적으로 style 추가
6) 확인
4. Email validation ( Before insert db )
class User < ActiveRecord::Base validates :name, presence: true, length: { maximum: 50 } VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, format: { with: VALID_EMAIL_REGEX } end
5. 기타 정규식 표현
나중에 시간이되면 해석해서 올릴게요...
관련 사이트 : http://www.rubular.com/