Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 프론트엔드
- 루비 온 레일즈
- 예스인테리어
- nodejs
- 웹 프로그래밍 입문
- Python
- 홈페이지 개발하기
- django 공부하기
- 모닝버드
- css3
- node.js
- 웹프로그래밍
- nodejs api
- 모듈화
- 파이썬 웹 프레임워크
- 장고 공부하기
- 꿀팁
- 레일즈
- rails review
- Ruby On Rails
- rails
- 웹 프로그래밍
- 데스크탑애플리케이션
- jquery
- 루비
- 장고
- Django
- 웹 프론트엔드
- express-mysql-session
- 루비온레일즈
Archives
- Today
- Total
노래하듯 이야기하고, 춤추듯 정복하라.
[Ruby on Rails] 좋아용 기능 구현하기: acts_as_votable 본문
# pin(게시글) 모델에 좋아요기능 추가하기
- acts_as_votable 이란 루비 gem을 사용한다.
- Gemfile에 Gem 추가하기
# Gemfile
gem 'acts_as_votable', '~> 0.11.1'
터미널
-> $bundle install
# 마이그레이션
- 터미널
-> $rails g acts_as_votable:migration
-> $rails db:migrate
# 모델에 코드추가: pins.rb
# pin.rb
acts_as_votable
# 라우팅 설정: routes.rb
# routes.rb
resources :pins do
member do
put "like", to: "pins#upvote"
end
end
# 컨트롤러에서 upvote 액션 생성: pins_controller.rb
# pin_controller.rb
before_action :find_pin, only: [:show, :edit, :update, :destroy, :upvote]
def upvote
@pin.upvote_by current_user
redirect_to :back
end
# views파일 코드 추가
# show.html.erb
<%= link_to like_pin_path(@pin), method: :put, class: "btn btn-default" do %>
<span class="glyphicon glyphicon-heart">
<%= @pin.get_upvotes.size %>
</span>
<% end %>
'프로그래밍 > Ruby & Rails' 카테고리의 다른 글
[Ruby on Rails] Post모델에 별점(Review) 기능 추가하기 (0) | 2018.08.10 |
---|---|
[Ruby on Rails] Post모델에 댓글(comments) 기능 추가하기 (0) | 2018.08.10 |
[Ruby & Rails] 사진 업로드 _paperclip (0) | 2018.08.09 |
[Ruby & Rails] Rails의 devise gem 사용하기 (0) | 2018.07.05 |
[Ruby & Rails] Rails의 View helper (0) | 2018.07.05 |
Comments