Я установил приложение rails, которое использует devise
в качестве подлинного жемчужина. Тем не менее, я хотел, чтобы пользователь выбирал случайное имя пользователя и не привязывался к тому, чтобы делиться своим письмом со мной. Я следовал инструкциям here. Однако проблема заключается в том, что всякий раз, когда я пытаюсь зарегистрироваться с использованием имени пользователя (с пустой пользовательской базой данных), форма показывает ошибку username is invalid
. Для справки вот валидация, что я стереосистема и обновите:Проблемы с регистрацией имени пользователя с помощью Devise
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :username, :uniqueness =>{
:case_sensitive => false
}, presence: true
Я не знаю, как обойти эту проблему. Любая помощь будет действительно приятной.
Edit: Для того, чтобы дать более полное представление о ситуации, вот лог-сервер при регистрации:
Started POST "/users" for ::1 at 2016-02-11 14:29:55 +0530
Processing by Devise::RegistrationsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"mM1N0AgxfoqXz4448EgHoSYz03Hdr3nX/WH1f+siRP/26VNWz4VS5lJ2I4NJjXcucgWxFvgIyON+7zwFXAESgw==", "user"=>{"username"=>"ankit0912", "email"=>"", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
(0.1ms) begin transaction
User Exists (0.2ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."username") = LOWER('ankit0912') LIMIT 1
(0.1ms) rollback transaction
Спасибо.
Edit2: Users_Controller код
class UsersController < ApplicationController
def index
@users = User.order(:karma :desc).limit(25)
end
def show
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
@user = @user.update(user_params)
if @user.save
flash[:notice] = "Record Updated"
else
redirect_to :action => "show", :id => @user.id
end
end
private
def user_params
params.require(:user).permit(:email)
end
end
вы можете дать нам часть контроллера? – Minato
@Minato: [здесь] (http://pastebin.com/QLq1dXku). Это контроллер, который я написал, часть auth обрабатывается приложением, к которому у меня нет доступа. –
Pastebin не работает для меня ... пожалуйста, напишите здесь ... – Minato