bootstrapのmodalを使用して、
サインアップ画面を実装したいのですが、
Userの保存ができません。。
modalの画面は表示されます。
どなたか詳しい方教えていただけませんでしょうか。
users_controllerの
newアクションでcreateは作っております。
調べてみると、createするために
同じ名前のjs.erbファイルが必要とのことなので、作っては見ましたが、
保存後の画面に推移せず、TOPページに戻ってしまいます。
MySQLを使用しているので、
SequelProとRails c でユーザーが作成されていないことは確認しました。
</users_controller.rb>
def create @user = User.new(user_params) if @user.save flash[:success] = "アカウント登録が完了しました" redirect_to @user else render 'new' end end ``` <html.erb> ```home.html.erb <button type="button" class="btn button primary-button mr-5" datatoggle="modal" data-target="#exampleModalCenter"> 新規登録 </button> <%= render 'users/new' %> ``` <create.js.erb> ```create.js.erb $('#exampleModalCenter').html("<%= escape_javascript(render 'users/new') %>") ``` <_new.html.erb> ```_new.html.erb <div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalCenterTitle">登録する</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <form> <%= form_with(model: @user, local: true) do |f| %> <div class="form-group"> <%= f.label :name, "アカウント名" %> <%= f.text_field :name, class: "form-control" %> <%= f.label :email, "メールアドレス" %> <%= f.email_field :email, class: "form-control" %> <%= f.label :password, "パスワード" %> <%= f.password_field :password, class: "form-control" %> <%= f.label :password_confirmation, "パスワード(確認用)" %> <%= f.password_field :password_confirmation, class: "form-control" %> <div class="d-flex justify-content-center p-4"> <%= f.submit "新規登録", class: "btn btn-primary" %> </div> <% end %> </div> <%= link_to "利用規約", "#", class: "#" %> </form> </div> </div> </div> </div> ``` 初歩的な質問で大変申し訳ないのですが、 ご教授いただけたら幸いです。 よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー