объекты, которые не созданы, отображаются на странице, и перенаправление завершается неудачно - PullRequest
1 голос
/ 14 мая 2011

Я опробовал рельсы 3 и только начал новый проект. Следующее - все, что я напечатал.

rails new todo
cd todo
bundle install
rails generate scaffold Task done:boolean task:text created:date
rake db:migrate
rails server&
firefox 0.0.0:3000/tasks&

На странице 0.0.0:3000/tasks/new я заполнил некоторые значения для полей и нажал кнопку, чтобы создать новый task. Он перенаправляет на 0.0.0:3000/tasks с пустой страницы. Когда я вручную перезагружаю страницу, она отображает восемь tasks, хотя должна быть только одна.

Когда я дополнительно нажимаю show, edit или destroy, он говорит, например, ActiveRecord::RecordNotFound in TasksController#show Couldn't find Task with ID=1.

Когда я перезагружаюсь к 0.0.0:3000/tasks, все восемь tasks все еще там.

Что с этим не так? На моем компьютере повреждены рельсы?

Вход

Когда я нажимаю «создавать задачи», терминал отображает

Запущен GET "/ tasks / new" для 127.0.0.1 в 2011-05-13 22:04:26 -0400
Обработка TasksController # new as HTML Rendered tasks / _form.html.erb (6,7 мс) отрендеренные задачи / new.html.erb в макетах / приложении (25,3 мс) Завершено 200 ОК за 35 мс (Просмотров: 27,9 мс | ActiveRecord: 0,0 мс)

, сопровождаемый чем-то подобным, повторяется восемь раз с x в tasks/x, варьирующемся от 1 до 8:

Запущен POST "/ tasks" для 127.0.0.1 в 2011-05-13 22:04:32 -0400 Обработка от TasksController # создать как HTML
Параметры: {"utf8" => "✓", "Authenticity_token" => "QZHWWyE5KcZhLrzRhB4Fgnl9HGiQqNkn17O4CUfUUJU =", "Задача" => { "сделано" => "0", "Задачи" => "тест \ г \ п", "Создал (1i)" => "2011", "Создано (2i)" => "5", "Создано (3i)" => "14"}, "commit" => "Создать задачу"} AREL (0,2 мс) INSERT INTO "tasks" ("готово", "задача", "создан", "создан_ат", "updated_at") VALUES ('f', 'test', «2011-05-14», «2011-05-14» 02: 04: 32.065805 ',' 2011-05-14 02: 04: 32.065805 ') Перенаправлено на http://0.0.0:3000/tasks/2 Завершено 302 найдено за 17мс [2011-05-13 22:04:32] URI ОШИБКИ :: InvalidURIError: схема http не принимает часть реестра: 0.0.0: 3000 (или плохо имя хоста?) /usr/local/lib/ruby/1.9.1/uri/generic.rb:746:in rescue in merge' /usr/local/lib/ruby/1.9.1/uri/generic.rb:743:in слияние» /usr/local/lib/ruby/1.9.1/webrick/httpresponse.rb:163:in setup_header' /usr/local/lib/ruby/1.9.1/webrick/httpresponse.rb:101:in send_response» /usr/local/lib/ruby/1.9.1/webrick/httpserver.rb:86:in run' /usr/local/lib/ruby/1.9.1/webrick/server.rb:183:in блок в start_thread '

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Вы пытаетесь получить доступ к своему сайту с помощью 0.0.0:3000, который является недействительным адресом (я на самом деле удивлен, что это вообще дает вам доступ к сайту).

Откройте 0.0.0.0:3000 в Firefox, и он будет отлично работать!

(Вы также можете использовать localhost:3000 или 127.0.0.1:3000)

1 голос
/ 14 мая 2011

Задача - это зарезервированное слово в Rails. Я думаю, что это причина, по которой рельсы ведут себя странным образом.

Список других зарезервированных слов можно найти по любой из этих ссылок

http://cheat.errtheblog.com/s/rails_reserved_words/

http://www.yup.com/articles/2007/01/31/no-reservations-about-keywords-in-ruby-on-rails

http://oldwiki.rubyonrails.org/rails/pages/ReservedWords

...