일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 모닝버드
- django 공부하기
- 데스크탑애플리케이션
- 웹 프론트엔드
- css3
- 장고 공부하기
- rails
- Ruby On Rails
- 루비
- rails review
- node.js
- 파이썬 웹 프레임워크
- Python
- nodejs
- nodejs api
- 웹 프로그래밍 입문
- 장고
- jquery
- express-mysql-session
- 루비온레일즈
- 예스인테리어
- 꿀팁
- 웹프로그래밍
- 프론트엔드
- Django
- 레일즈
- 모듈화
- 웹 프로그래밍
- 홈페이지 개발하기
- 루비 온 레일즈
- Today
- Total
목록Ruby On Rails (9)
노래하듯 이야기하고, 춤추듯 정복하라.
[소셜 SNS 인증]- 참고 링크: http://blog.naver.com/kbs4674/221446312846 # 인사안녕하세요 모닝버드입니다. 오늘도 어제에 이어서 포스팅을 이어나갑니다. 간만에 연속 포스팅이네요 :)오늘은 레일즈 애플리케이션에서 소셜 SNS 인증하는 방법에 대해 알아보겠습니다. 생각보다 많이 복잡한 편은 아닙니다. 아직 코드 전체를 이해하진 못했지만 대략적인 원리는 파악 가능합니다. # 사전 준비- Devise 젬이 설치 및 세팅되어 있다는 상황을 가정 # 진행1. 네이버 개발자 페이지 로그인- https://developers.naver.com/products/login/api/ 2. 네이버 개발자 도구에 애플리케이션 등록* 참고 링크: https://blog.naver.com/k..
* 참고링크: https://www.youtube.com/watch?v=6Yn2MhHYlyE 1. Gem 추가Gemfile에 mysql2 젬 추가하기 - apt-get 업데이트 $ sudo apt-get update $ apt-get install libmysqlclient-dev - gem 추가 및 install gem 'mysql2', '~> 0.5.2' $ bundle install 2. config/database.yml 수정하기 default: &default adapter: mysql2 pool: 5 timeout: 5000 username: root password: newlife4829 host: 127.0.0.1 port: 3306 development:
* 필자는 Devise gem이 설치되어 코딩이 완료된 상태를 가정함. # gem 설치:cancancan => 권한부여:rolify => 역할, 등급 부여 # Gemfile gem 'devise' gem 'cancancan' gem 'rolify'-> $gem install bundler-> $bundle install # 터미널-> $rails g cancan:ability-> $rails g rolify Role User => model 폴더에 abilty.rb 파일이 생성됨 # 역할 부여하기 => user.rb after_create :assign_default_role def assign_default_role emails = ['inamorfati@likelion.org', 'seokk1209@..
★ 파일과 image 추가 - jquery.raty.js 파일과 image 3가지 추가 (star-half.png / star-off.png / star-on.png ) -> mackenzie git 레파지토리 주소 => https://github.com/mackenziechild/movie_review ★ posts/show.html.erb 코드변경 및 추가 * 변경 ↓↓↓* js 코드추가 ★ comments/_form.html.erb 코드변경 및 추가* 변경 ↓↓↓ * js 코드추가
★ review 스캐폴드 모델 생성 $rails g scaffold review rating:integer review:text $rails db:migrate ★ review + user + post 관계 - $rails g migration add_user_id_to_review user_id:integer:index - user.rb has_many :reviews has_many :posts- review.rb belongs_to :user belongs_to :post - 터미널 -> $rails g migration add_post_id_to_review post_id:integer:index -> $rails db:migrate - post.rb has_many :reviews ★ revie..
# Post 모델에 댓글 기능 추가하기이번 포스팅에서는 게시판 글쓰기 기능에 사용자들이 댓글을 달 수 있는 Comments 모델을 추가해 보겠습니다. # Comments 모델 생성- 터미널-> $rails g model comment body:text post:references-> $rails db:migrate # post 모델이 has_many 추가 # post.rb has_many: comments # user모델과 comment 모델 설정하기- comment.rb # comment.rb belongs_to :user - user.rb # user.rb has_many :comments has_many :posts - 터미널-> $rails g migration add_user_id_to_comm..
#rails gem rails의 gem은 nodejs을 해보신 분이시라면 npm, django를 해보신 분이라면 pip를 생각하시면 이해가 쉽다. rails의 정식 모듈들, 그리고 일반 사용자들이 더 편한 개발을 위해 직접개발해서 올린 많은 gem들이 있는데, 터미널 창에 gem install gem_name 의 명령을 통해 설치할 수 있따. #rails의 'devise' gem rails에서는 간편한 인증을 구현하기 위한 devise라는 gem이 있다. 기본적으로 email과 password, password_confirm 의 구조로 되어 있으며 rails g migration add_?_to_model 을 통해 추가적인 유저 정보를 넣을 수 있다. github => https://github.com/..
#Rails만 갖고 있는 view helper 레일즈의 view 파일들은 기본적으로 viewfile_name.html.erb 형태의 파일 포맷을 가진다. 뷰 템플릿 파일의 양이 많아질수록 html과 erb의 코드가 복잡해져서 유지보수와 디버깅이 어려워진다. 이러한 문제점을 해결하기 위해 레일즈에서는 그들만의 view_helper 메소드 들을 제공하고 있다. 레일즈의 view helper을 사용하면 템플릿파일이 비교적 깔끔해 지는 것을 느낄 수 있을 것이다. 위와 같은 코드가 대표적인 예인데, 로컬 서버를 실행하여 개발자도구(f12)를 실행하고 위치를 찍어보면 다음과 같은 코드로 변환되어 보인다. Edit전 글에서 포스팅 했던 form_for역시 뷰의 헬퍼 중의 하나이다. #View Helper의 종류 레..
#Scaffold 란? Rails는 Ruby 언어로 만든 웹 프레임워크입니다. 일반적인 웹 프레임워크와 비슷하게 MVC(Model-View-Controller)구조를 갖고 있는데요. 보통 rails g controller ctr_name, rails g model model_name의 명령어로 각각의 모델과 컨트롤러를 생성해주고, routes.rb에서 url 패턴을 잡아 줘야합니다. 하지만 rails에서 지원하는 scaffold기능은 위와 같은 여러개의 번거로운 작업을 한 번에 해결해주는데요. rails g scaffold name_sapce [options] 의 명령어 한번이면 model과 controller 그리고 controller 안에 CRUD의 7가지 기능(index, show, new, cre..