Ruby on Rails에서 사용자 등록 양식에 문제가 있습니다. 이전에는 사용자 이름, 전자 메일 및 암호로 간단하게 작업했습니다. 그러나 이름, 성 및 우편 번호 필드를 추가하려고하면 모든 데이터가 데이터베이스에 삽입되는 것을 중지하고 등록 양식으로 다시 리디렉션됩니다.Ruby on Rails의 깨진 사용자 등록 양식
마이그레이션을 생성하고 db를 마이그레이션하는 올바른 방법을 사용했는데 여전히 양식이 작동하지 않았습니다.
그런 다음 데이터베이스를 완전히 삭제하고 포함 된 모든 필드를 사용하여 다시 만들었지 만 여전히 작동하지 않습니다. 올바른 필드가있는 데이터베이스가 올바르게 생성되었으며 연결이 끊어지는 위치를 잘 모릅니다.
저는 루비 2.3.1을 사용하고 있습니다.
사용자 컨트롤러 :
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
redirect_to '/home'
else
redirect_to '/register'
end
end
private
def user_params
params.require(:user).permit(:username, :email, :password, :location, :fname, :lname)
end
end
사용자 모델 : 사용자의
class User < ApplicationRecord
has_secure_password
end
양식/새 :
<div class="container">
</div>
<div id="contact" class="container-fluid bg-grey">
<h2 class="text-center">Create An Account</h2>
<form>
<%= form_for(@user) do |f| %>
<%= f.text_field :username, :placeholder => "Username" %>
<%= f.email_field :email, :placeholder => "Email" %>
<%= f.password_field :password, :placeholder => "Password" %><br/><br/>
<%= f.text_field :fname, :placeholder => "First Name" %>
<%= f.text_field :lname, :placeholder => "Last Name" %>
<%= f.number_field :location, :placeholder => "ZIP Code (US Only)" %><br/><br/>
<%= f.submit "Create an Account", class: "btn-submit" %>
<% end %>
</div>
</ul>
</nav>
</body>
</html>
사용자 마이그레이션 만들기 :
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t|
t.string :username
t.string :email
t.string :password_digest
t.numeric :location
t.string :fname
t.string :lname
t.timestamps
end
end
end
을 로그에서3210
:
Started GET "/register?utf8=%E2%9C%93&authenticity_token=b6M1gpQx8BTLhBqjjh6R%2BlSGghcSh18Mg7eGskLGNyq11RBvGCX%2BOJjVhSLwwRmZunn1sYvV4MGHB7vrJw6Rhg%3D%3D&user%5Busername%5D=jsmith1&user%5Bemail%5D=jsmith%40email.com&user%5Bpassword%5D=[FILTERED]&user%5Bfname%5D=John&user%5Blname%5D=Smith&user%5Blocation%5D=60606&commit=Create+an+Account" for ::1 at 2016-11-07 15:14:50 -0600
Processing by UsersController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"b6M1gpQx8BTLhBqjjh6R+lSGghcSh18Mg7eGskLGNyq11RBvGCX+OJjVhSLwwRmZunn1sYvV4MGHB7vrJw6Rhg==", "user"=>{"username"=>"jsmith1", "email"=>"[email protected]", "password"=>"[FILTERED]", "fname"=>"John", "lname"=>"Smith", "location"=>"60606"}, "commit"=>"Create an Account"}
Rendering users/new.html.erb within layouts/application
Rendered users/new.html.erb within layouts/application (2.0ms)
Completed 200 OK in 195ms (Views: 148.1ms | ActiveRecord: 21.5ms)
)
Completed 200 OK in 760ms (Views: 714.8ms | ActiveRecord: 3.5ms)
은 어떤 도움 정말 감사합니다.
불행히도 "작동을 멈췄습니다"는 도움을 제공하기에 충분한 기술적 세부 사항이 부족합니다. 어떤 오류가 있습니까? 실제로는 어떻게됩니까? 큰 추측 게임을 건너 뛰는 것으로 실제로 도움이되는 사람들을보다 쉽게 만들 수 있습니다. – MarsAtomic
서버 로그를 게시 할 수 있습니까? – Monideep
죄송합니다. 사용자를 저장하지 않고 데이터를 데이터베이스에 삽입하지 않고 등록 양식으로 돌아갑니다. – crackedact0r