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
こんなかんじ
ほんとは×ボタン押したら消えるようにしたかったけど、今日はここまで