前提・実現したいこと
Ruby on Rails5でwebアプリを作成しています。
form_forメソッドを用いて入力フォームをビューに作成し、
コントローラで保存する処理を記述したつもりです。
エラーはなく、保存に成功した際のリダイレクトをしているのですが、
SQLで見てみると値が保存されていません。
発生している問題・エラーメッセージ
エラーは出ないが、SQLに実際のデータが保存されていない。
ルーティング等が不安です。
該当のソースコード
ruby
1#users_controller.rb 2 3class UsersController < ApplicationController 4 5 def index 6 @users = User.all 7 end 8 9 def new 10 @user = User.new 11 end 12 13 def create 14 @user = User.new(users_params) 15 if @user.save 16 render 'index' 17 else 18 render 'new' 19 end 20 end 21 22 def users_params 23 params.require(:user).permit(:name, :email, :password) 24 end 25end
html
1<!-- users/new.html.erb--> 2<head> 3 <meta charset="utf-8"> 4 <link rel="stylesheet" href="users.scss" type="text/css"> 5</head> 6<div class="users-main"> 7<h1> 8 会員登録 9</h1> 10<body> 11 <%= form_for(@user, url: momocloapp_user_path, method: :post) do |f| %> 12 <p> 13 <%= f.label :name, "アカウント名" %><br> 14 <%= f.text_field :name %> 15 </p> 16 <p> 17 <%= f.label :email, "メールアドレス" %><br> 18 <%= f.email_field :email %> 19 </p> 20 <p> 21 <%= f.label :password, "パスワード" %><br> 22 <%= f.password_field :password %> 23 </p> 24 <p> 25 <%= f.label :password_confirmation, "パスワード確認" %><br> 26 <%= f.password_field :password_confirmation %> 27 </p> 28 <%= f.submit "登録する"%> 29 <% end %> 30</body> 31</div>
ruby
1#routes.rb 2Rails.application.routes.draw do 3 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 4 get "momocloapp" => "top#index" 5 get "momocloapp/members" => "members#index" 6 get "momocloapp/member/:id" => "members#show" 7 get "momocloapp/user" => "users#index" 8 post "momocloapp/user" => "users#index" 9 get "momocloapp/user/new" => "users#new" 10 get "momocloapp/discography" => "discography#index" 11 get "momocloapp/comments" => "comments#index" 12 post "momocloapp/comments" => "comments#index" 13 get "momocloapp/comment/new" => "comments#new" 14end
モデルには特に処理は書いていません。
試したこと
・バリデーションはかけてません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。