Когда я запускаю консоль или начинаю свой проект в разработке, я получаю эту ошибку всякий раз, когда пытаюсь коснуться своей базы данных postgres, но файл, упомянутый в сообщении об ошибке, больше не существует в моем проекте. (... app.workflows / user_workflow). Я изменил имя файла и имя класса на intuit_user_workflow.rb и IntuitWorkflow соответственно.
bash -c "/Users/yus3/.rvm/bin/rvm ruby-2.5.0 do /Users/yus3/.rvm/rubies/ruby-2.5.0/bin/ruby /Users/yus3/.rvm/gems/ruby-2.5.0/gems/ruby-debug-ide-0.7.0.beta6/bin/rdebug-ide --key-value --disable-int-handler --evaluation-timeout 10 --evaluation-control --time-limit 100 --memory-limit 0 --rubymine-protocol-extensions --port 49430 --host 0.0.0.0 --dispatcher-port 49431 -- \"/Users/yus3/Documents/Mac 11.18/RubymineProjects/CostReportQB/bin/rails\" console"
Fast Debugger (ruby-debug-ide 0.7.0.beta6, debase 0.2.3.beta2, file filtering is supported) listens on 0.0.0.0:49430
Loading development environment (Rails 5.2.1)
2.5.0 :001 > >> p=Project.first
Traceback (most recent call last):
1: from (irb):1
SyntaxError (/Users/yus3/.rvm/gems/ruby-2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:257: syntax error, unexpected tSYMBEG, expecting keyword_end
...app/workflows/user_workflow.rb:19
... ^
/Users/yus3/.rvm/gems/ruby-2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:273: dynamic constant assignment
NULL_TRANSACTION = NullTransaction.new
^
/Users/yus3/.rvm/gems/ruby-2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:283: syntax error, unexpected end-of-input, expecting keyword_end)
2.5.0 :002 >
Это всякий раз, когда я пытаюсь сделать что-нибудь, что требует activerecord. терпит неудачу с похожим набором сообщений об ошибках.
Странно то, что единственный упомянутый файл, который не является частью какой-либо библиотеки ... app / workflows / user_work.rb: 19 больше не находится в моем проекте (хотя раньше был). Я изменил имя файла и класса на IntuitUserWorkflow везде, где это встречается в моем проекте, что я подтвердил тщательным изучением моей базы кода. Тем не менее, я все еще получаю эту ошибку из-за несуществующего файла. Другая проблема, которую стоит отметить, заключается в том, что в файле у меня был оператор User.transaction do..end block, который раньше находился в файле до того, как я переименовал его, но я также удалил код транзакции.
Вот несколько вещей, которые я попытался сделать, чтобы решить эту проблему.
Я также смог напрямую получить доступ к базе данных без рельсов через консоль sql. Нет проблем.
Среда - это Rails 5.2.1 Ruby 2.5 Activerecord-5.2.1
Предлагаемые средства правовой защиты?
🤔 А знаете ли вы, что...
Ruby on Rails имеет встроенную поддержку для кеширования, что способствует улучшению производительности приложения.