【Comment】 rails 코멘트 기능 실장
【골】
주석 기능 구현
→ 댓글 표시
→ 댓글 건수 표시
참고 : htps : // m / __ 코타로 _ / ms / 8 a 6b, 99, b61d2 a 72 a 5
【메리트】
■ 어플리케이션의 완성도가 늘어난다
■UX 향상
【개발 환경】
■ Mac OS catalina
■ Ruby on Rails (5.2.4.2)
■ Virtual Box:6.1
■ Vagrant: 2.2.7
【실장】
첫째, 애플리케이션 작성
1.comment 모델링
※DB에 기록하므로 필수
mac.terminal$ rails g model Comment
2.model에 어소시에이션 추기
※※user : comment = 1 : X (1대다)
※※post : comment = 1 : X (1대다)
models/post.rbhas_many :comments ,dependent: :destroy
models/user.rbhas_many :comments , dependent: :destroy
modles/comment.rbbelongs_to :user
belongs_to :post , optional: true
2.comments controller 만들기
※※ 이번에는 작성만, create 액션도 동시에 작성 ①
※※"build"메소드로 붙은 것도 어렵지 않고 작성②
※※"user"를 인식시켜 주는 ③
mac.terminal$ rails g controller Commnets create #①
posts_controller.rb class CommentsController < ApplicationController
before_action :authenticate_user!
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.build(comment_params) #②
@comment.user_id = current_user.id #③
if @comment.save
flash[:success] = "コメントを投稿しました"
redirect_back(fallback_location: root_path)
else
flash[:unsuccess] = "コメントを投稿できませんでした"
redirect_back(fallback_location: root_path)
end
end
private
def comment_params
params.require(:comment).permit(:text)
end
※이번은 "post/show"로 기술하고 있으므로, 추가로 기술 필요
posts_controller.rb def show
@post =Post.find(params[:id])
@comment = Comment.new
@comments = @post.comments.all
3.view 묘사
※※"form_for"때에는"@post ","@comment "양쪽에 정보를!!
views/posts/show.html.erb<%= form_for [@post , @comment] do |f| %> #コメント送信フォーム
<%= f.text_area :text %>
<%= f.submit "Comment"%>
<% end %>
(中略)
<% @comments.each do |c| %> #コメント表示
<%= c.text %>
<%= c.user.name %>
<%= c.created_at %>
<% end %>
이상
Reference
이 문제에 관하여(【Comment】 rails 코멘트 기능 실장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/thk__u/items/93d94b1ede8fb4be2981
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
■ 어플리케이션의 완성도가 늘어난다
■UX 향상
【개발 환경】
■ Mac OS catalina
■ Ruby on Rails (5.2.4.2)
■ Virtual Box:6.1
■ Vagrant: 2.2.7
【실장】
첫째, 애플리케이션 작성
1.comment 모델링
※DB에 기록하므로 필수
mac.terminal$ rails g model Comment
2.model에 어소시에이션 추기
※※user : comment = 1 : X (1대다)
※※post : comment = 1 : X (1대다)
models/post.rbhas_many :comments ,dependent: :destroy
models/user.rbhas_many :comments , dependent: :destroy
modles/comment.rbbelongs_to :user
belongs_to :post , optional: true
2.comments controller 만들기
※※ 이번에는 작성만, create 액션도 동시에 작성 ①
※※"build"메소드로 붙은 것도 어렵지 않고 작성②
※※"user"를 인식시켜 주는 ③
mac.terminal$ rails g controller Commnets create #①
posts_controller.rb class CommentsController < ApplicationController
before_action :authenticate_user!
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.build(comment_params) #②
@comment.user_id = current_user.id #③
if @comment.save
flash[:success] = "コメントを投稿しました"
redirect_back(fallback_location: root_path)
else
flash[:unsuccess] = "コメントを投稿できませんでした"
redirect_back(fallback_location: root_path)
end
end
private
def comment_params
params.require(:comment).permit(:text)
end
※이번은 "post/show"로 기술하고 있으므로, 추가로 기술 필요
posts_controller.rb def show
@post =Post.find(params[:id])
@comment = Comment.new
@comments = @post.comments.all
3.view 묘사
※※"form_for"때에는"@post ","@comment "양쪽에 정보를!!
views/posts/show.html.erb<%= form_for [@post , @comment] do |f| %> #コメント送信フォーム
<%= f.text_area :text %>
<%= f.submit "Comment"%>
<% end %>
(中略)
<% @comments.each do |c| %> #コメント表示
<%= c.text %>
<%= c.user.name %>
<%= c.created_at %>
<% end %>
이상
Reference
이 문제에 관하여(【Comment】 rails 코멘트 기능 실장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/thk__u/items/93d94b1ede8fb4be2981
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
첫째, 애플리케이션 작성
1.comment 모델링
※DB에 기록하므로 필수
mac.terminal
$ rails g model Comment
2.model에 어소시에이션 추기
※※user : comment = 1 : X (1대다)
※※post : comment = 1 : X (1대다)
models/post.rb
has_many :comments ,dependent: :destroy
models/user.rb
has_many :comments , dependent: :destroy
modles/comment.rb
belongs_to :user
belongs_to :post , optional: true
2.comments controller 만들기
※※ 이번에는 작성만, create 액션도 동시에 작성 ①
※※"build"메소드로 붙은 것도 어렵지 않고 작성②
※※"user"를 인식시켜 주는 ③
mac.terminal
$ rails g controller Commnets create #①
posts_controller.rb
class CommentsController < ApplicationController
before_action :authenticate_user!
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.build(comment_params) #②
@comment.user_id = current_user.id #③
if @comment.save
flash[:success] = "コメントを投稿しました"
redirect_back(fallback_location: root_path)
else
flash[:unsuccess] = "コメントを投稿できませんでした"
redirect_back(fallback_location: root_path)
end
end
private
def comment_params
params.require(:comment).permit(:text)
end
※이번은 "post/show"로 기술하고 있으므로, 추가로 기술 필요
posts_controller.rb
def show
@post =Post.find(params[:id])
@comment = Comment.new
@comments = @post.comments.all
3.view 묘사
※※"form_for"때에는"@post ","@comment "양쪽에 정보를!!
views/posts/show.html.erb
<%= form_for [@post , @comment] do |f| %> #コメント送信フォーム
<%= f.text_area :text %>
<%= f.submit "Comment"%>
<% end %>
(中略)
<% @comments.each do |c| %> #コメント表示
<%= c.text %>
<%= c.user.name %>
<%= c.created_at %>
<% end %>
이상
Reference
이 문제에 관하여(【Comment】 rails 코멘트 기능 실장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/thk__u/items/93d94b1ede8fb4be2981텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)