新規登録で送信できるようにする
ルーティングでpostを作り、コントローラを設定すれば完成だったような気がする。
Routing Error
No route matches [POST] "/signup"
ルーティングを設定する
Rails.application.routes.draw do
get '/', to: 'home#top'
get '/signup', to: 'users#new'
post '/users/create', to: 'users#create'
get 'users/index', to: 'users#index'
get 'users/:id', to: 'users#show'
end
これで設定。
usersコントローラーのcreateアクションを作成
name,email,passwordで登録
.
.
.
def create
@user = User.new(name: params[:name],
email: params[:email],
password: params[:password])
@user.save
end
.
.
.
これでいけるか?
Routing Error
No route matches [POST] "/signup"
ルーティングが一致しないらしい。
ルーティングのタイポか、調べよう。
Routing Error
No route matches [POST] "/signup"
'をつけてみよう。
知らないうちにエラーが消えていた。
ActiveModel::UnknownAttributeError in UsersController#create
unknown attribute 'email' for User.
users_controllerの中に知らない属性があるみたい
email属性がおかしいみたいだ。
データベースが何か問題があるのか?
確かめること
・rails sを一回閉じる
・データベースのカラムを確かめる
ここから先は学んだことであり人に伝えようとは思っていないので
うまく伝えきれない。
POSTリクエスト
POSTリクエストをすると次の画面にいかな行くてはならない。
そのためにrender
,redirect_to
を使わなければならない。
それをおこなっていないと
template_error(警告)が表示されない。
サーバーを閉じる
データベースをいじるとその時のサーバーを閉じなければならない。
そうしないと前のデータでしか応答してくれないから
SQL
idには一人一つ退会したからとその人のidを別の人に与えないことは大事
mysql> select * from users;
+----+--------------------+-----------+----------+
| id | name | email | password |
+----+--------------------+-----------+----------+
| 60 | ブイゼル | hogehoge | |
| 61 | a | | |
| 62 | a | | |
| 63 | a | | |
| 64 | あ | | |
.
.
.
学ぶことが多すぎる。これから頑張る。