railsチュートリアルを進めています。
<% provide(:title, 'Sign up') %> <h1>Sign up</h1> <div class="row"> <div class="col-md-6 col-md-offset-3"> <%= form_for(@user) do |f| %> <%= render 'shared/error_messages' %> <%= 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, "Confirmation" %> <%= f.password_field :password_confirmation, class: 'form-control' %> <%= f.submit "Create my account", class: "btn btn-primary" %> <% end %> </div> </div>
new.html.erbで、ユーザー登録を行う部分です。
form_for(@user) do の部分についてなのですが、チュートリアルでは、<%= form_for(@user, url: signup_path) do |f| %>と書いてあるのですが、この、url:sign_up_pathを書かなくても正常にデータは保存されました。 これを書くのと書かないことの違いがわからないので、教えていただけると幸いです。
ちなみに、関係するコントローラーはこちらになります。
class UsersController < ApplicationController def new @user=User.new end def create @user=User.new(user_params) if @user.save flash[:success] = "Welcome to the Sample App!" redirect_to @user else render "new" end end def show @user=User.find(params[:id]) end private def user_params params.require(:user).permit(:name,:email,:password,:password_confirmation) end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/21 00:52
2019/09/21 01:25