1

我试用了 rails 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&

在 page 上0.0.0:3000/tasks/new,我为字段填写了一些值,然后单击按钮创建一个新的task. 它重定向到0.0.0:3000/tasks一个空白页面。当我手动重新加载页面时,它显示了八个,tasks即使应该只有一个。

当我进一步单击showeditdestroy时,它会显示,例如:ActiveRecord::RecordNotFound in TasksController#show Couldn't find Task with ID=1

当我重新加载到 时0.0.0:3000/tasks,所有八个tasks都还在。

这有什么问题?我的计算机上的导轨是否损坏?

日志

当我单击“创建任务”时,终端显示

在 2011-05-13 22:04:26 -0400 开始 GET "/tasks/new" for 127.0.0.1
由 TasksController#new 处理为 HTML 渲染任务/_form.html.erb (6.7ms) 渲染任务/new.html布局/应用程序中的 .erb(25.3 毫秒)在 35 毫秒内完成 200 次 OK(查看次数:27.9 毫秒 | ActiveRecord:0.0 毫秒)

接下来是这样的事情重复了八次,从到x变化:tasks/x18

在 2011-05-13 22:04:32 -0400 开始 POST "/tasks" for 127.0.0.1 由 TasksController#create 作为 HTML
参数处理:{"utf8"=>"✓", "authenticity_token"=>"QZHWWyE5KcZhLrzRhB4Fgnl9HGiQqNkn17O4CUfUUJU= ", "task"=>{"done"=>"0", "task"=>"test\r\n", "created(1i)"=>"2011", "created(2i)"=> "5", "created(3i)"=>"14"}, "commit"=>"Create Task"} AREL (0.2ms) INSERT INTO "tasks" ("done", "task", "created", “created_at”、“updated_at”)值('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/2Completed 302 Found in 17ms [2011-05-13 22:04:32] ERROR URI::InvalidURIError: the scheme http does not accept registry part: 0.0.0:3000 (or bad hostname?) /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 block in start_thread'

4

2 回答 2

1

Task 是 Rails 中的保留字。我想这就是为什么 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

于 2011-05-14T03:01:01.600 回答
1

您正在尝试使用0.0.0:3000无效地址访问您的网站(实际上我很惊讶这甚至可以让您访问该网站)。

改为在 Firefox 中打开0.0.0.0:3000,它会完美运行!

(您也可以使用localhost:3000127.0.0.1:3000

于 2011-05-14T04:02:38.780 回答