実現したいこと
投稿ボタンを押下したときに、入力データが保存できるようにしたい
前提
ruby 3.0.3
Rails 7.0.4.3
Windows 10
発生している問題・エラーメッセージ
投稿ボタンを押下してもデータが保存されない
/event/newが投稿画面なんですが、投稿ボタンを押下しても画面は変わらないです
投稿保存できない場合、renderでnewを指定しているので投稿が保存できない状態だと思います
該当のソースコード
Controller
ruby
1class EventsController < ApplicationController2 def index3 @event = Event.all.order(created_at: :desc)4 end5 6 def new7 @event = Event.new8 end9 10 def create11 @event = Event.new(event_params)12 if @event.save 13 redirect_to root_path, notice: "投稿が成功しました。"14 else15 flash.now[:alert] = "投稿ができませんでした。すまん"16 render :new17 end18 end19 20 private21 22 def event_params23 params.require(:event).permit(:title, :date, :tag , :body)24 end25end
HTMLファイル
ruby
1<h1>新規イベント作成</h1>2<%= form_for(@event) do |form| %> 3 <% if flash[:notice] %> 4 <div class="alert alert-success">5 <%= flash[:notice] %> 6 </div> 7 <% end %> 8 <% if flash[:alert] %> 9 <div class="alert alert-danger">10 <%= flash[:alert] %> 11 </div> 12 <% end %> 13 <div class="form-group">14 <%= form.label :タイトル %> 15 <%= form.text_field :title, class: "form-control" %> 16 </div>17 18 <div class="form-group">19 <%= form.label :本文 %> 20 <%= form.text_area :body, class: "form-control" %> 21 </div>22 23 <div class="form-group">24 <%= form.label :日付 %> 25 <%= form.date_field :date, class: "form-control" %> 26 </div>27 28 <div class="form-group">29 <%= form.label :タグ %> 30 <%= form.text_field :tag, class: "form-control" %> 31 </div>32 33 <%= form.submit "作成", class: "btn btn-primary" %> 34<% end %>35
routes.rb
ruby
1Rails.application.routes.draw do2 devise_for :users3 4 # ログアウト用のルートを設定する5 devise_scope :user do6 delete 'users/sign_out', to: 'devise/sessions#destroy', as: :custom_destroy_user_session7 end8 9 get 'comments/index'10 root 'comments#index'11 12 resources :events, only: %i[index new create]13 14end15
ログ
bash
1Started POST "/events" for 172.31.0.1 at 2023-08-05 06:55:58 +0000 2Cannot render console from 172.31.0.1! Allowed networks: 127.0.0.0/127.255.255.255, ::1 3Processing by EventsController#create as TURBO_STREAM4Parameters: {"authenticity_token"=>"[FILTERED]", "event"=>{"title"=>"あああ", "body"=>"", "date"=>"2023-07-03", "tag"=>"tag1"}, "commit"=>"作成"}5Rendering layout layouts/application.html.erb 6Rendering events/new.html.erb within layouts/application 7Rendered events/new.html.erb within layouts/application (Duration: 1.5ms | Allocations: 1676)8Rendered layout layouts/application.html.erb (Duration: 7.0ms | Allocations: 15114)9 Completed 200 OK in 13ms (Views: 8.2ms | ActiveRecord: 0.2ms | Allocations: 21338)
試したこと
form_withをform_forに変更したりした
rails cでDBの中身を確認してみたけど、特に何もなし
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

0 コメント