1
每當我提交表單時,我都會被重定向到/ users,並且Chrome會一直給我一個錯誤,提示'沒有收到數據'一貫。我已經嘗試評論所有的驗證內容,但是我遇到了完全相同的問題。我通常會自己繼續調試它,但重定向的缺少rails錯誤信息讓我陷入困境。Rails:新用戶沒有被創建,當被重定向時,Chrome瀏覽器會顯示'沒有收到數據'
這裏是我的用戶控制器:
class UsersController < ApplicationController
def index
@users = User.all
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
flash[:notice] = "You Signed up successfully"
flash[:color]= "valid"
redirect_to '/'
else
flash[:notice] = "Form is invalid"
flash[:color]= "invalid"
redirect_to 'new'
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password)
end
end
這裏是我的用戶模型:
class User < ActiveRecord::Base
before_save { self.email = email.downcase }
validates :first_name, presence: true, length: { maximum: 50 }
validates :last_name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
has_secure_password
validates :password, length: { minimum: 6 }
end
這裏是我的形式:
<%= form_for(@user) do |f| %>
<div class="form-group" style="margin-top: 30px">
<%= f.label :email %>
<%= f.email_field :email, class: 'form-control' %>
</div>
<div class="form-group">
<%= f.label :password %>
<%= f.password_field :password_digest, class: 'form-control' %>
</div>
<div class="form-group">
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation, class: 'form-control' %>
</div>
<%= f.label :first_name %>
<%= f.search_field :first_name, class: 'form-control' %>
<%= f.label :last_name %>
<%= f.search_field :last_name, class: 'form-control' %>
<%= f.submit "Create an Account", class: 'btn btn-primary' %>
<% end %>
編輯:我也曾嘗試具有重定向UsersController#創建點'/用戶',我得到相同的'沒有數據收到'的錯誤。在routes.rb中,我將它設置爲 資源:用戶 並且我在index.html.erb文件中有靜態html。我可以直接訪問/ users。
此外,我不擔心重定向問題,更擔心用戶缺乏創建。
編輯2:我可以播種數據庫成功創建用戶,但我還是不能創建一個具有形式
檢查日誌文件;可能會有更多關於正在發生的事情的細節。我懷疑'redirect_to'/''是由於沒有配置'root'路由導致這種行爲。有關根路徑配置,請參閱http://stackoverflow.com/a/6257744/429758。 –