Rails의 플래시 사용법을 정리해 보았습니다.
5715 단어 초보자flashRails프로그래밍 공부 일기
프로그래밍 공부 일기
2020년 8월 14일 Progate Lv.226
flash란?
페이지에 한 번만 표시되는 메시지. 사용자에게 페이지를 이동할 때 간단한 메시지를 표시할 수 있다. 사용자 등록 완료 등의 성공 메시지, 게시 등의 조작이 실패했을 때의 에러 메시지 등을 표시 할 때 사용된다.
flash를 작성하는 방법
flash는 해시와 같은 형태로 기술한다.
컨트롤러flash[:キー名]="表示したいメッセージ"
키명은 좋아하는 이름을 붙일 수 있다.
플래시 메시지를 표시하고 싶은 부분에는 다음과 같이 기술한다.
뷰 파일<%= flash[:キー名] %>
scaffold에서 자동으로 작성한 경우
posts_controller.rbdef update
respond_to do |format|
if @post.update(post_params)
format.html { redirect_to ("/posts"), notice: 'Post was successfully updated.' }
format.json { render :show, status: :ok, location: @post }
else
format.html { render :edit }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
views/posts/index.html.erb<p id="notice"><%= notice %></p>
직접 만든 경우
users_controller.rbdef login
@user = User.find_by(email: params[:email])
if @user && @user.authenticate(params[:password])
session[:user_id] = @user.id
redirect_to("/users/index")
else
flash[:alert] = "メールアドレスまたはパスワードが間違っています"
@email = params[:email]
@password = params[:password]
render("users/login_new")
end
end
views/users/new.html.erb<p id="alert"><%= alert %></p>
notice 및 alert 옵션
키에는 원하는 이름을 붙일 수 있지만 notice
와 alert
는 옵션이 있다. 이것들은 <%= flash[:キー名] %>
라고 쓸 필요가 없고, 이하와 같이 flash를 생략해 쓸 수 있다.
뷰 파일<%= notice %>
<%= alert %>
알림은 통지에, alert는 경고에 사용하는 것이 바람직하다.
redirect_to와 함께 사용할 때 작성하는 방법
redirect_to
로 notice와 alert를 사용할 때는 정리해 쓸 수 있다. scaffold 때처럼 다음과 같이 쓸 수 있다.
컨트롤러redirect_to ("パス"), notice: '表示するメッセージ'
다른 키명도 함께 쓸 수 있으며, 그 경우는 다음과 같다.
컨트롤러redirect_to ("パス"), flash{キー名: '表示するメッセージ' }
redirect_to는 액션이 실행되고 나서 뷰가 표시된다.
Reference
이 문제에 관하여(Rails의 플래시 사용법을 정리해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mzmz__02/items/d92a1b735ac91d9c4a46
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
페이지에 한 번만 표시되는 메시지. 사용자에게 페이지를 이동할 때 간단한 메시지를 표시할 수 있다. 사용자 등록 완료 등의 성공 메시지, 게시 등의 조작이 실패했을 때의 에러 메시지 등을 표시 할 때 사용된다.
flash를 작성하는 방법
flash는 해시와 같은 형태로 기술한다.
컨트롤러flash[:キー名]="表示したいメッセージ"
키명은 좋아하는 이름을 붙일 수 있다.
플래시 메시지를 표시하고 싶은 부분에는 다음과 같이 기술한다.
뷰 파일<%= flash[:キー名] %>
scaffold에서 자동으로 작성한 경우
posts_controller.rbdef update
respond_to do |format|
if @post.update(post_params)
format.html { redirect_to ("/posts"), notice: 'Post was successfully updated.' }
format.json { render :show, status: :ok, location: @post }
else
format.html { render :edit }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
views/posts/index.html.erb<p id="notice"><%= notice %></p>
직접 만든 경우
users_controller.rbdef login
@user = User.find_by(email: params[:email])
if @user && @user.authenticate(params[:password])
session[:user_id] = @user.id
redirect_to("/users/index")
else
flash[:alert] = "メールアドレスまたはパスワードが間違っています"
@email = params[:email]
@password = params[:password]
render("users/login_new")
end
end
views/users/new.html.erb<p id="alert"><%= alert %></p>
notice 및 alert 옵션
키에는 원하는 이름을 붙일 수 있지만 notice
와 alert
는 옵션이 있다. 이것들은 <%= flash[:キー名] %>
라고 쓸 필요가 없고, 이하와 같이 flash를 생략해 쓸 수 있다.
뷰 파일<%= notice %>
<%= alert %>
알림은 통지에, alert는 경고에 사용하는 것이 바람직하다.
redirect_to와 함께 사용할 때 작성하는 방법
redirect_to
로 notice와 alert를 사용할 때는 정리해 쓸 수 있다. scaffold 때처럼 다음과 같이 쓸 수 있다.
컨트롤러redirect_to ("パス"), notice: '表示するメッセージ'
다른 키명도 함께 쓸 수 있으며, 그 경우는 다음과 같다.
컨트롤러redirect_to ("パス"), flash{キー名: '表示するメッセージ' }
redirect_to는 액션이 실행되고 나서 뷰가 표시된다.
Reference
이 문제에 관하여(Rails의 플래시 사용법을 정리해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mzmz__02/items/d92a1b735ac91d9c4a46
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
flash[:キー名]="表示したいメッセージ"
<%= flash[:キー名] %>
def update
respond_to do |format|
if @post.update(post_params)
format.html { redirect_to ("/posts"), notice: 'Post was successfully updated.' }
format.json { render :show, status: :ok, location: @post }
else
format.html { render :edit }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
<p id="notice"><%= notice %></p>
def login
@user = User.find_by(email: params[:email])
if @user && @user.authenticate(params[:password])
session[:user_id] = @user.id
redirect_to("/users/index")
else
flash[:alert] = "メールアドレスまたはパスワードが間違っています"
@email = params[:email]
@password = params[:password]
render("users/login_new")
end
end
<p id="alert"><%= alert %></p>
키에는 원하는 이름을 붙일 수 있지만
notice
와 alert
는 옵션이 있다. 이것들은 <%= flash[:キー名] %>
라고 쓸 필요가 없고, 이하와 같이 flash를 생략해 쓸 수 있다.뷰 파일
<%= notice %>
<%= alert %>
알림은 통지에, alert는 경고에 사용하는 것이 바람직하다.
redirect_to와 함께 사용할 때 작성하는 방법
redirect_to
로 notice와 alert를 사용할 때는 정리해 쓸 수 있다. scaffold 때처럼 다음과 같이 쓸 수 있다.
컨트롤러redirect_to ("パス"), notice: '表示するメッセージ'
다른 키명도 함께 쓸 수 있으며, 그 경우는 다음과 같다.
컨트롤러redirect_to ("パス"), flash{キー名: '表示するメッセージ' }
redirect_to는 액션이 실행되고 나서 뷰가 표시된다.
Reference
이 문제에 관하여(Rails의 플래시 사용법을 정리해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mzmz__02/items/d92a1b735ac91d9c4a46
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
redirect_to ("パス"), notice: '表示するメッセージ'
redirect_to ("パス"), flash{キー名: '表示するメッセージ' }
Reference
이 문제에 관하여(Rails의 플래시 사용법을 정리해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mzmz__02/items/d92a1b735ac91d9c4a46텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)