rails를 통해 데이터를 create할 때 플래시 메시지가 나타납니다

4071 단어 Rails

개시하다



나는 rails로 데이터를 만들 때 위처럼 플래시 메시지를 보낼 때가 있다고 생각한다.    
이번에는 플래시 메시지를 보내는 방법을 이야기하고 싶다.   
※ 또한, 이번 css는 bootstrap을 사용했습니다.

일단 코드부터.


articles_controller.rb

#〜省略〜

def create
  @article = Article.new(article_params)
  if @article.save
    redirect_to @article, flash: { notice: '記事の作成が作成されました' }
  else
    redirect_to new_article_path
  end
end

#〜省略〜

show.html.erb
<% if flash[:notice] %>
  <div class="alert alert-primary" role="alert">
    <%= notice %>
  </div>
<% end %>
<p>
  <strong>Title:</strong>
  <%= @article.title %>
</p>
<p>
  <strong>Content:</strong>
  <%= @article.content %>
</p>

<%= link_to '', edit_article_path(@article) %> |
<%= link_to 'Back', articles_path %>

해설


플래시 힌트가 나오려면 두 단계가 필요해요.
1, 플래시로 정보 저장(컨트롤러 측)
2, 플래시 메시지가 있으면 표시(보기 측면)

말하자면 플래시가 뭐냐!


플래시는 rails 방법으로 사용자의 세션에 잠시 산열 형식으로 저장됩니다.
세션이 표시되면 자동으로 삭제되는 것이 특징입니다.

1, 플래시로 정보 저장


플래시를 이용해서 정보를 보관하는 방법은 두 가지가 있어요.
모든 경우notice의 관건'記事の作成が作成されました'은 세션의 가치를 저장합니다

첫번째

, flash: { notice: '記事の作成が作成されました' }
최초의 코드처럼 Redirect다음은 to 이후에 기술한 방법입니다.  

두번째

flash[:notice] = '記事の作成が作成されました'
간단하게 플래시를 사용하여 메시지를 저장하는 방법
이 두 가지 방법으로 세션에서 메시지를 잠시 저장할 수 있습니다.

2, 플래시 메시지가 있으면


플래시 메시지는 flash[:キー名]로 보기 측면에서 수치를 얻을 수 있습니다.
이를view에 사용하면 다음과 같은 기술을 통해 플래시 정보가 나타납니다.
<% if flash[:notice] %>
  <div class="alert alert-primary" role="alert">
    <%= notice %>
  </div>
<% end %>

총결산


상기 두 가지 절차를 통해 플래시 정보는 매우 간단하게 제작할 수 있다.  
어쨌든 사용해 보는 것이 중요하다.

좋은 웹페이지 즐겨찾기