Active Record
관계형데이터베이스의 테이블을 객체로 연결해서
네이티브 데이터베이스 SQL을 사용하지 않고도
데이터를 조작할 수 있도록 다양한 메소드를 제공해 준다.
config.active_record.primary_key_prefix_type = : table_name
기본 키 컬럼들의 네이밍시 사용합니다.
기본적으로 레일즈는 `id` 라는 이름이 붙여진 컬럼을 기본키로 가정합니다.
두 가지 옵션 :table_name, :table_name_with_underscore
:table_name
: table_name_with_underscore
config.active_record.table_name_prefix = 'northwest_'
config.active_record.table_name_suffix = '_northwest'
테이블 이름 앞, 뒤에 문자열을 설정하고 싶을 때 사용합니다.
만약 `northwest_` 라고 옵션을 설정하게 되면
Customer 클래스는 테이블에서 `northwest_customers`으로 찾게 됩니다.

config.active_record.pluralize_table_names = true #false
단수형인 객체의 이름을 복수형인 DB테이블으로 매칭시켜줍니다.
하지만 기존의 DB테이블 이름이 단수형으로 된 경우도 있습니다.
이 경우에는 자동으로 객체이름을 복수형으로 만들어
DB테이블 이름을 찾는 기능을 다음과 같이 false로 두어 해제하시면 됩니다.
false 일땐 Customer 클래스는 customer 테이블을 사용합니다.

config.active_record.default_timezone = :utc
데이터베이스로 부터 날짜와 시간을 가져올 때
`Time.local` 또는 `Time.utc`중 하나로 가져옵니다.
:utc
:local
config.active_record.schema_format = :sql
데이터베이스의 스키마 파일에 덤프 되는 형식을 설정합니다.
옵션은 :ruby 또는 :sql 이 있습니다.
마이그레이션에 따라 데이터베이스에 독립적인 버전 `:ruby`(기본값)과
SQL 구문(데이터베이스에 의존적인)의 설정에 대한 `:sql`

config.active_record.timestamped_migrations = false
마이그레이션 파일의 식별자를 정수 또는 타임 스탬프로 설정합니다.
기본값은 true이며 타임 스탬프를 사용합니다.
이는 동일한 어플리케이션 개발에 여러 개발자가 작업하는 경우에 적합합니다.

config.active_record.lock_optimistically = false
엑티브 레코드를 낙관적 잠금을 사용할 것인지 여부를 정합니다.
낙관적인 잠금은 레코드를 업데이트 할때에 버전을 보고, 충돌나면 그 에러를 처리하고,
충돌나지 않으면 그냥 업데이트 합니다.
비관적인 잠금은 레코드를 갱신하는 동시에 해당 컬럼을 잠그고, 트랜잭션이 커밋되면 잠금을 풉니다.
config.active_record.cache_timestamp_format = :number
캐시 키의 타임 스탬프 값의 형식을 정합니다. 기본 값으로는 `:number` 입니다.
:nsec

MySQL의 어댑터의 설정 추가 옵션
스키마 파일 생성에 포함되지 않을 테이블들을 배열로 받습니다.
ActiveRecord::SchemaDumper.ignore_tables = ["posts", "books"]
Action Controller
액션 컨트롤러 프레임워크는 레일즈 어플리케이션으로 들어오는
요청을 처리하고, 파라미터를 추출하고, 의도된 액션으로 보냅니다.
액션 컨트롤러는 세션(session)관리, 템플릿(template) 렌더링,
리다이렉트(redirect) 관리 서비스를 포함합니다.
config.action_controller.asset_host
에셋의 호스트를 설정합니다.
에셋 호스트로 CDN을 사용할 경우에 유용합니다.

config.action_controller.perform_caching
어플리케이션의 캐싱 수행 여부를 설정합니다.
개발 환경에서는 false로 설정되어 있고 배포 환경에선 true로 설정 됩니다.
config.action_controller.default_static_extension
캐시 된 페이지들의 확장자를 설정합니다. 기본값은 `.html` 입니다.
config.action_controller.default_charset
컨트롤러의 기본 문자 세트를 지정합니다.
기본값은 "utf-8" 입니다.
config.action_controller.logger
Action Controller에서 로그 정보를 사용합니다.
로깅(로그 정보 기록)을 사용하지 않으려면 `nil`로 설정합니다.
config.action_controller.request_forgery_protection_token
요청위조(RequestForgery)를 위한 token 매개 변수 이름을 설정합니다.
`protect_from_forgery`의 호출은 기본적으로
`:authenticity_token`을 설정합니다.
config.action_controller.allow_forgery_protection
CSRF 보호의 활성화 또는 비활성화를 합니다.
기본적으로 테스트 환경에서는 `false`이고 다른 환경에선 `true`로 설정되어 있습니다.
config.action_controller.relative_url_root
Rails에 배포하는 하위 디렉토리를 전달하는 데 사용됩니다. 기본값은 `ENV['RAILS_RELATIVE_URL_ROOT']` 입니다.
config.action_controller.permit_all_parameters
모든 매개 변수 mass assignment가 기본값으로 허용 여부를 설정합니다. 기본값은 `false` 입니다.
config.action_controller.action_on_unpermitted_params
만약 매개 변수가 명시적으로 허용되지 않은 것이라면 로깅 또는 예외 발생을 활성화합니다.
`:log` 또는 `:raise`를 설정하여 활성화합니다.
기본값으로 개발 환경과 테스트 환경에선 `:log`이며, 그 외의 환경에서는 `false`로 설정되어 있습니다.