Объекты, которые не созданы, отображаются на странице, и перенаправление завершается неудачно

Я опробовал рельсы 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#showCouldn'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 Рендеринг заданий /_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=", "task"=>{"done"=>"0", "task"=>"test\r\n", "созданный (1i)"=>"2011", "созданный (2i)"=>"5", "созданный (3i)"=>"14"}, "commit"=>"Создать задачу"} AREL (0,2ms) INSERT INTO "задачи" ("выполнено", "задача", "создано", "создано_," обновлено_at") ЗНАЧЕНИЯ ('f', 'test ', '2011-05-14', '2011-05-14 02:04:32.065805', '2011-05-14 02:04:32.065805') Перенаправлено на http://0.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:в rescue in merge' /usr/local/lib/ruby/1.9.1/uri/generic.rb:743:in merge '/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 ответа

Решение

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

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

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

Задача - это зарезервированное слово в 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

Другие вопросы по тегам