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
- 루비온레일즈
- 홈페이지 개발하기
- css3
- rails review
- 레일즈
- nodejs
- jquery
- 프론트엔드
- 웹 프로그래밍
- Python
- 장고 공부하기
- express-mysql-session
- 웹 프로그래밍 입문
- 데스크탑애플리케이션
- Django
- node.js
- 예스인테리어
- 장고
- 모듈화
- 파이썬 웹 프레임워크
- 웹 프론트엔드
- nodejs api
- 루비 온 레일즈
- 웹프로그래밍
- Ruby On Rails
- 루비
- 모닝버드
- rails
- 꿀팁
- django 공부하기
Archives
- Today
- Total
노래하듯 이야기하고, 춤추듯 정복하라.
[Ruby on Rails] Post모델에 별점(Review) 기능 추가하기 본문
★ 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
★ review의 views파일과 action에서 삭제해야 할것
- index, action
★ views 파일
- views/reviews/_form.html.erb
<%= form_for([@post, @comment]) do |f| %>
★ routes.rb
resources :posts do
resources :reviews, except: [:show, :index ]
★ reviews_controller.rb
- 새코드 추가
before_action :set_post
def create<
@review.post_id = @post.id
end
def set_post
@post = Post.find(params[:post_id])
end
★ reviews/new.html.erb -> link_to 헬퍼 코드변경
<%= link_to 'Back', post_path(@post) %>
★ post controller의 show action에 코드추가
@reviews = Review.where(post_id: @post.id).order("created_at DESC")
★ posts/show.html.erb 하단에 코드 추가
<%= link_to "Write Review with Score", new_post_review_path(@post) %>
<div class="">
<% if @review.blank? %>
<h3>No Score yet, would you to add comment first!</h3>
<%= link_to "Add Score", new_post_review_path(@post), class: "btn btn-primary" %>
<% else %>
<% @reviews.each do | review | %>
<div class="reviews">
<p><%= review.rating %></p>
<p><%= review.body %></p>
</div>
<hr>
<% end %>
<% end %>
</div>
<% end %>
-> 다음 포스팅에 이어서 별도의 라이브러리 사용하여 별점을 시각화 시켜보겠습니다.
'프로그래밍 > Ruby & Rails' 카테고리의 다른 글
[Ruby & Rails] 관리자 권한 부여하기, 사용한 Gem: Cancancan + Rolify (1) | 2018.08.15 |
---|---|
[Ruby & Rails] Post모델에 별점(Review) 기능 추가하기2 (0) | 2018.08.10 |
[Ruby on Rails] Post모델에 댓글(comments) 기능 추가하기 (0) | 2018.08.10 |
[Ruby on Rails] 좋아용 기능 구현하기: acts_as_votable (2) | 2018.08.09 |
[Ruby & Rails] 사진 업로드 _paperclip (0) | 2018.08.09 |
Comments