В настоящее время я работаю вместе с учебником Hartl Ruby on Rails (глава 2) с использованием среды IDE Cloud9. Я столкнулся с ошибкой с Arel::Nodes::BindParam.new
, что вызвано вчерашним выпуском Arel 6.0.0. Проблема в том, что BindParam
больше не принимает параметры и передается по ActiveRecord. Чтобы решить эту проблему ранее при использовании rake db:migrate
, я установил другую версию Arel в моем Gemfile as explained by aaron-k here. Однако это изменение не помешала мне получить ту же ошибку при попытке создать «новый пользователь» от scaffolded ресурса пользователей в учебнике:Как адресовать несовместимость Arel с учебником Hartl Rails (глава 2)?
ArgumentError in UsersController#create
wrong number of arguments (1 for 0)
Extracted source (around line #271):
269 # NOTE: The column param is currently being used by the sqlserver-adapter
270 def substitute_at(column, index)
271 Arel::Nodes::BindParam.new '?'
272 end
# REFERENTIAL INTEGRITY ====================================
Rails.root: /home/ubuntu/workspace/toy_app
app/controllers/users_controller.rb:30:in `block in create'
app/controllers/users_controller.rb:29:in `create'
Я не вижу ссылок на Arel в users_controller.rb
, и поэтому я я задаюсь вопросом, где еще мне понадобится более старая версия Arel. Может быть, это проблема с размещением его через Cloud9 с использованием rails server
?