ruby rails: ArgumentError в индексе: ключ должен быть 32 символа - PullRequest
0 голосов
/ 01 сентября 2018

Я просто новичок в Rails.
Я следую инструкции по https://guides.rubyonrails.org/getting_started.html, и у меня возникла эта проблема: Я создал контроллер работает rails generate controller Welcome index, затем добавили get 'welcome/index' и root 'welcome#index' к config/routes.rb. Открытие localhost:3000 (по умолчанию для сервера ruby) дает мне эту страницу ошибки

Я провел небольшое исследование здесь по StackOverflow и GitHub, где обнаружил, что проблему можно решить, связав стабильную версию rails 5-0 с github в gemfile, но при установке пакета не удалось найти файл git. Я также попытался изменить config / rout.rb, но это не проблема. Я прочитал некоторые ответы об изменении вызова в исходном файле, но я не понимаю, о каком файле они говорили (https://github.com/rails/rails/issues/25448)

версия ruby ​​and rails:
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
Rails 4.2.6

PS: я не думаю, что это как-то связано с этим, но у меня были некоторые проблемы с запуском сервера, потому что установка пакета дала error: couldn't build native extensions, что я решил установить ruby-dev через apt и некоторые гемы по отдельности через gem install.

Edit:

Команды, запускаемые с терминала:

$ rails new blog
$ cd blog
$ rails server

Отредактированные файлы:

#config/routes.rb
Rails.application.routes.draw do
  get 'welcome/index'
  root 'welcome#index'
  get 'layout/application'
end

Спасибо за вашу помощь!

После попытки связать github ruby ​​5.2:

$ bundle install
Fetching https://github.com/rails/rails.git
sh: 1: git: not found
Retrying `git clone 'https://github.com/rails/rails.git' "~/.bundle/cache/git/rails-fcf0202857b07db1a0f6220dae5ca99319ca0f32" --bare --no-hardlinks --quiet` due to error (2/4): Bundler::Source::Git::GitCommandError Git error: command `git clone 'https://github.com/rails/rails.git' "~/.bundle/cache/git/rails-fcf0202857b07db1a0f6220dae5ca99319ca0f32" --bare --no-hardlinks --quiet` in directory ~/script/ruby/blog has failed.sh: 1: git: not found
Git error: command `git clone 'https://github.com/rails/rails.git'
"~/.bundle/cache/git/rails-fcf0202857b07db1a0f6220dae5ca99319ca0f32" --bare
--no-hardlinks --quiet` in directory ~/script/ruby/blog has failed.

1 Ответ

0 голосов
/ 01 сентября 2018

Кажется, вы только что запустили новое приложение Rails? Если это так, вы должны перейти прямо к Rails 5.2, которая на момент написания статьи была последней стабильной версией.

Вверху моего Gemfile, сгенерированного rails s, у меня есть следующее

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.5.1'

# Rails
gem 'rails', github: "rails/rails", branch: "5-2-stable"

Попробуйте изменить Gemfile с помощью этого и перезапустите bundle

Кроме того, для управления версиями ruby ​​я настоятельно рекомендую вам переключиться на rbenv , а не управлять вашей системой версиями Ruby

...