Size: a a a

Чат по руби

2020 November 19

E

Estanis in Чат по руби
Estanis
сегодня впервые столкнулся с ошибкой сегментации  в виртуальной машине MRI ruby, исправить пока не удалось. Может кто помочь советом? 3814 строк баг-репорта в консоли
Помогите, ничего не помогает. Эта проблема появиляется каждый раз когда запускаешь приложение rails и переходишь на localhost:3000. Использую ruby 2.7.2 и рельсы 6.0.3.4. Что я делал, в попытках решить эту проблему:
1. Перезапуск приложения (несколько раз)
2. использовал rails db: migrate: reset
3. Откат версии в git
4. Перезапуск пк
5. Удалил ruby ( и соответственно все гемы), установил его заново
Ничего не помогло, зато выяснил, что данная проблема есть только на этом проекте. Другие запущенные приложения работают корректно.
================
Предыстория: Я подключил gem rails admin, для взаимодействия с cancancan и devise, а также создал роли для пользователей. После запуска db: migrate у меня появилась ошибка: "uninitialized constant RailsAdmin" ,  перепробовав все варианты которые нашел, применил rails db:migrate:reset, после чего и возникла ошибка сегментации
источник

E

Estanis in Чат по руби
Лог ошибки сегментации: https://paste2.org/U5pfh0Km
источник

E

Estanis in Чат по руби
источник

E

Estanis in Чат по руби
Буду рад любой помощи
источник

E

Estanis in Чат по руби
Завтра попробую откатывать коммиты до тех пор пока ошибка не исчезнет, иначе перепишу всё с нуля
источник

DG

Denis Gavrilin in Чат по руби
Попробуй задаунгрейдить sprockets до 3.7 если поможет, кури доку как заапгрейдить до 4.0, ну или сразу почитай
источник

R

Ro in Чат по руби
Artem Kuzin
Хочу поблагодарить Романа за то, что приоткрыл дверь в мир программирования! Благодаря его урокам, книге и поддержке я начал изучать Ruby. Рома для меня тот человек который направил по нужной тропинке и убедил, что успех неизбежен. Главное не останавливаться и  продвигаться вперёд, как бы трудно небыло. Также хочу выразить свою благодарность команде ХП! Спасибо за терпение и поддержку! Я многому у вас научился и знаю теперь как развиваться дальше. К чему же это я веду?) Я недавно получил свой оффер!  С полного нуля и до первой работы у меня ушло чуть больше года. Это было не легко, больно и мучительно))) Но это реально! Я знаю, что это только начало и ещё предстоит многому научиться, но для меня это уже победа! Теперь только вперёд и с песней!)) Ребята вы очень крутые! Спасибо вам за всё!)
молодец! А по сколько часов в день занимался, если не секрет? Работал во время обучения, нет? Были мысли все бросить?)
источник

AP

Anton Plugin in Чат по руби
Estanis
Буду рад любой помощи
Вот посмотри, тут тоже самое обсуждают
https://github.com/sass/sassc-ruby/issues/207
источник

Д

Дмитрий in Чат по руби
Artem Kuzin
Хочу поблагодарить Романа за то, что приоткрыл дверь в мир программирования! Благодаря его урокам, книге и поддержке я начал изучать Ruby. Рома для меня тот человек который направил по нужной тропинке и убедил, что успех неизбежен. Главное не останавливаться и  продвигаться вперёд, как бы трудно небыло. Также хочу выразить свою благодарность команде ХП! Спасибо за терпение и поддержку! Я многому у вас научился и знаю теперь как развиваться дальше. К чему же это я веду?) Я недавно получил свой оффер!  С полного нуля и до первой работы у меня ушло чуть больше года. Это было не легко, больно и мучительно))) Но это реально! Я знаю, что это только начало и ещё предстоит многому научиться, но для меня это уже победа! Теперь только вперёд и с песней!)) Ребята вы очень крутые! Спасибо вам за всё!)
А что за оффер расскажи пожалуйста подробнее если есть возможность
источник

Α

ΑΛΉΣΕΡ in Чат по руби
Artem Kuzin
Хочу поблагодарить Романа за то, что приоткрыл дверь в мир программирования! Благодаря его урокам, книге и поддержке я начал изучать Ruby. Рома для меня тот человек который направил по нужной тропинке и убедил, что успех неизбежен. Главное не останавливаться и  продвигаться вперёд, как бы трудно небыло. Также хочу выразить свою благодарность команде ХП! Спасибо за терпение и поддержку! Я многому у вас научился и знаю теперь как развиваться дальше. К чему же это я веду?) Я недавно получил свой оффер!  С полного нуля и до первой работы у меня ушло чуть больше года. Это было не легко, больно и мучительно))) Но это реально! Я знаю, что это только начало и ещё предстоит многому научиться, но для меня это уже победа! Теперь только вперёд и с песней!)) Ребята вы очень крутые! Спасибо вам за всё!)
теперь главное удержать победу    !  где нашел работу  или удаленка ?
источник

VV

Vadim Venediktov in Чат по руби
Artem Kuzin
Хочу поблагодарить Романа за то, что приоткрыл дверь в мир программирования! Благодаря его урокам, книге и поддержке я начал изучать Ruby. Рома для меня тот человек который направил по нужной тропинке и убедил, что успех неизбежен. Главное не останавливаться и  продвигаться вперёд, как бы трудно небыло. Также хочу выразить свою благодарность команде ХП! Спасибо за терпение и поддержку! Я многому у вас научился и знаю теперь как развиваться дальше. К чему же это я веду?) Я недавно получил свой оффер!  С полного нуля и до первой работы у меня ушло чуть больше года. Это было не легко, больно и мучительно))) Но это реально! Я знаю, что это только начало и ещё предстоит многому научиться, но для меня это уже победа! Теперь только вперёд и с песней!)) Ребята вы очень крутые! Спасибо вам за всё!)
👌 Артем, поздравляю, вы — молодец! Столько упорства и целеустремленности в вас! Не сомневался, что у вас все получится. Так держать.
источник

AK

Artem Kuzin in Чат по руби
Ro
молодец! А по сколько часов в день занимался, если не секрет? Работал во время обучения, нет? Были мысли все бросить?)
Занимался и занимаюсь сейчас в свободное время на сколько это возможно) Обучаться не легко, но мыслей всё бросить нет и небыло. По поводу работы - конечно работал, без этого никак)
источник

AK

Artem Kuzin in Чат по руби
Vadim Venediktov
👌 Артем, поздравляю, вы — молодец! Столько упорства и целеустремленности в вас! Не сомневался, что у вас все получится. Так держать.
Спасибо Вадим!)
источник

Р

Рустем Арғын... in Чат по руби
Artem Kuzin
Хочу поблагодарить Романа за то, что приоткрыл дверь в мир программирования! Благодаря его урокам, книге и поддержке я начал изучать Ruby. Рома для меня тот человек который направил по нужной тропинке и убедил, что успех неизбежен. Главное не останавливаться и  продвигаться вперёд, как бы трудно небыло. Также хочу выразить свою благодарность команде ХП! Спасибо за терпение и поддержку! Я многому у вас научился и знаю теперь как развиваться дальше. К чему же это я веду?) Я недавно получил свой оффер!  С полного нуля и до первой работы у меня ушло чуть больше года. Это было не легко, больно и мучительно))) Но это реально! Я знаю, что это только начало и ещё предстоит многому научиться, но для меня это уже победа! Теперь только вперёд и с песней!)) Ребята вы очень крутые! Спасибо вам за всё!)
Я рад за тебя брат👍👍👍
источник

AP

Artemka P. in Чат по руби
всем привет, ость ошибка, которую я не могу пофиксить

NoMethodError: undefined method `valid_password?' for #<User::ActiveRecord_Relation

class User < ActiveRecord::Base
 belongs_to :account
 devise :database_authenticatable, :registerable, :confirmable,
        :recoverable, :rememberable, :trackable
        # :validatable


 validates_presence_of     :email
 validates                 :email, format: {with: /\A[^@]+@([^@\.]+\.)+[^@\.]+\z/ }
 # validates_uniqueness_of   :email
 validates_presence_of     :password, if: :password_required?
 validates_confirmation_of :password, if: :password_required?
 validates_length_of       :password, within: 6..30, allow_blank: true
мне нужно было снять уникальность email для User и я закомментировал модуль # :validatable добавив из него метод

protected
 def password_required?
   !persisted? || !password.nil? || !password_confirmation.nil?
 end
для работы системы.

Но теперь перестала работать авторизация пользователей.

class SessionsController < Devise::SessionsController
 before_filter :check_captcha, only: [:create]
 skip_before_filter :require_no_authentication, only: [:create,:login_token]
 prepend_before_filter :allow_params_authentication!, only: :create

 def create
   data = {result: :error}
   if user_params[:email].present? and user_params[:password].present?
     user = User.where(email: user_params[:email].strip.downcase).where.not(role: 'notify')
     if user.present? and user.valid_password?(user_params[:password])
       sign_in user
       data = {result: admin_root_url}
     end
   end
   render json: data
 end

NoMethodError: undefined method `valid_password?' for #<User::ActiveRecord_Relation:0x005620fa18ff30>
from /home/user_name/.rvm/gems/ruby-2.1.2@wifibit/gems/activerecord-4.2.4/lib/active_record/relation/delegation.rb:136:in `method_missing'
пробовал в свмой моделе User переопределить метод

def valid_password?(password)
   Devise::Encryptor.compare(self.class, encrypted_password, password)
end
и в private и в protected и просто, не видит и все.

Еще для снятия уникальности провел миграцию

class ChangeIndexUsers< ActiveRecord::Migration

 def up
   remove_index :users, :email
   add_index "users", ["email"], name: "index_users_on_email", unique: false, using: :btree
 end

 def down
   remove_index :users, :email
   add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
 end
end
источник

AP

Artemka P. in Чат по руби
источник

P

Paul in Чат по руби
ну у тебя там же написано — NoMethodError: undefined method `valid_password?' for #<User::ActiveRecord_Relation
источник

P

Paul in Чат по руби
User::ActiveRecord_Relation это вот и есть причина
источник

P

Paul in Чат по руби
должен быть объект типа User
источник

P

Paul in Чат по руби
ага, все верно
источник