前提・実現したいこと
Ruby on Rails5でwebアプリを作成しています。
form_forメソッドを用いて入力フォームをビューに作成し、
コントローラで保存する処理を記述したつもりです。
エラーはないのですが、
SQLで見てみると値が保存されていません。
発生している問題・エラーメッセージ
エラーは出ないが、SQLに実際のデータが保存されていない。
投稿の内容をDBに保存する場合はform_forではなくform_tagを使わなければならないのでしょうか。
該当のソースコード
Ruby
1#tweets_controller.rb 2 3class TweetsController < ApplicationController 4 def index 5 @tweets = Tweet.all 6 end 7 8 def new 9 @tweets = Tweet.new 10 11 end 12 13 def create 14 Tweet.create(tweet_params) 15 end 16 17 private 18 def tweet_params 19 params.permit(:name, :title, :text) 20 end 21end 22
HTML
1# <tweets/new.html.erb> 2 3<div class="d-flex align-items-center"> 4 <h1>投稿</h1> 5 <div class="ml-auto posts_button"> 6 <a class="btn btn-outline-info" href="/tweets">投稿一覧</a> 7 </div> 8</div> 9<%= form_for @tweets do |f| %> 10 <div class="form-group"> 11 <%= f.label :name, '投稿者名' %> 12 <%= f.text_field :name, class: 'form-control' %> 13 <small id="poster-tip" class="form-text text-muted"> 14 あなたのuser名を入力してください。 15 </small> 16 </div> 17 <div class="form-group"> 18 <%= f.label :title, '投稿タイトル' %> 19 <%= f.text_field :title, class: 'form-control' %> 20 <small id="title-tip" class="form-text text-muted"> 21 タイトルを入力してください。 22 </small> 23 </div> 24 <div class="form-group"> 25 <%= f.label :text, '投稿内容' %> 26 <%= f.text_area :text, class: 'form-control', rows:10 %> 27 <small id=content-tip" class="form-text text-muted"> 28 投稿内容を入力してください。 29 </small> 30 </div> 31 <%= f.submit '投稿', class: 'btn btn-info btn-block' %> 32 <small id="submit-tip" class="form-text text-muted"> 33 投稿する前に投稿内容を見直してください! 34 </small> 35<% end %>
Ruby
1#rails routesの結果 2 Prefix Verb URI Pattern Controller#Action 3 root GET / tweets#index 4 tweets GET /tweets(.:format) tweets#index 5 POST /tweets(.:format) tweets#create 6 new_tweet GET /tweets/new(.:format) tweets#new 7 rails_service_blob GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs#show 8rails_blob_representation GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show 9 rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show 10update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update 11 rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/25 14:46
2020/05/26 07:53