Ruby on Rails 入門7 ~Twitterもどきが出来るまで~

前回まで

ツイート機能つくった

今回のやりたいこと

なにも入力していない状態でツイート出来ないようにしたい!のと、ソレに伴うエラーっぽいのだしたい。

app/models/tweet.rb

投稿できなくするのはマジ簡単一行追加するだけ

validates :content, presence: true #追記

app/views/home/index.html.erb

BULMAのnotificationをつかっていい感じに見せる

  <!-- 6行修正 -->
 <% if flash[:notice]  %>
   <div class="notification is-warning is-light">
     <button class="delete"></button>
     <%= flash[:notice] %>
   </div>
 <% end %>

placeholder

  <div class="main-fields">
   <%= form_for @tweet do |f| %>
     <!-- 1行修正 -->
     <p><%= f.text_area :content, class: "textarea", placeholder: "ツイート" %></p>
     <%= f.submit "ツイートする", class: "button is-primary main-botton" %>
   <% end %>
 </div>

app/controllers/tweets_controller.rb

tweet.saveに失敗したらメッセージが出るようにしておく

def create
  tweet = current_user.tweets.new(tweet_params)
  unless tweet.save
    flash[:notice] = "ツイートになにか入力してください"
  end
  redirect_to home_path
end

こんなかんじ

スクリーンショット 2020-02-26 23.33.16

ほんとは×ボタン押したら消えるようにしたかったけど、今日はここまで

次回の