0

Hio, 我需要幫助。我在Ruby on Rails 3中開發了應用程序。它的簡單應用程序在MySQL數據庫上有一些scadfolds並且只有CRUD操作。因爲我是Windows 64位用戶,我有時會遇到一些寶石問題(例如mysql2寶石等)。但直到現在我已經解決了所有問題。現在我在的情況下,當我有應用,而且已經當我測試它在本地主機上我得到這個錯誤在Web瀏覽器中:Rails 3 - 錯誤Errno :: EINVAL:測試頁面時無效參數

內部服務器錯誤 無效參數 的WEBrick/1.3.1(紅寶石/ 1.8.7/2011-02-18)位於localhost:300

的WEBrick日誌:

*Started GET "/?mobile=0" for 127.0.0.1 at Thu Sep 29 13:25:53 +0200 2011 
DEPRECATION WARNING: Setting filter_parameter_logging in ActionController is deprecated and has no longer effect, please set 'config.filter_parameters' in config/application.rb instead. (called from C:/Sites/stodolist/app/controllers/application_controller.rb:8) 
    Processing by UsersController#show as HTML 
    Parameters: {"mobile"=>"0"} 
    User Load (0.0ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 
    CACHE (0.0ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 
    SQL (1.0ms) BEGIN 
    AREL (1.0ms) UPDATE `users` SET `updated_at` = '2011-09-29 11:25:53', `perishable_token` = '0Mp7RB1VTjml8S7Syqh', `last_request_at` = '2011-09-29 11:25:53' WHERE `users`.`id` = 1 
    SQL (22.0ms) COMMIT 
    Task Load (2.0ms) SELECT `tasks`.* FROM `tasks` WHERE (`tasks`.user_id = 1) 
    Priority Load (0.0ms) SELECT `priorities`.* FROM `priorities` WHERE `priorities`.`id` = 1 LIMIT 1 
    Cathegory Load (1.0ms) SELECT `cathegories`.* FROM `cathegories` WHERE `cathegories`.`id` = 1 LIMIT 1 
    Status Load (1.0ms) SELECT `statuses`.* FROM `statuses` WHERE `statuses`.`id` = 1 LIMIT 1 
    Priority Load (1.0ms) SELECT `priorities`.* FROM `priorities` WHERE `priorities`.`id` = 2 LIMIT 1 
    Cathegory Load (1.0ms) SELECT `cathegories`.* FROM `cathegories` WHERE `cathegories`.`id` = 2 *LIMIT 1 
    CACHE (0.0ms) SELECT `statuses`.* FROM `statuses` WHERE `statuses`.`id` = 1 LIMIT 1* 
    Priority Load (0.0ms) SELECT `priorities`.* FROM `priorities` WHERE `priorities`.`id` = 3 LIMIT 1 
    Cathegory Load (0.0ms) SELECT `cathegories`.* FROM `cathegories` WHERE `cathegories`.`id` = 3 LIMIT 1 
    CACHE (0.0ms) SELECT `statuses`.* FROM `statuses` WHERE `statuses`.`id` = 1 LIMIT 1 
    0m SELECT `priorities`.* FROM `priorities` WHERE `priorities`.`id` = 4 LIMIT 1 
    CACHE (0.0ms) SELECT `cathegories`.* FROM `cathegories` WHERE `cathegories`.`id` = 1 LIMIT 1 
    CACHE (0.0ms) SELECT `statuses`.* FROM `statuses` WHERE `statuses`.`id` = 1 LIMIT 1 
    Timeline Load (1.0ms) SELECT `timelines`.* FROM `timelines` WHERE (`timelines`.user_id = 1) 
Rendered users/show.html.erb within layouts/application (421.0ms) 
Completed 200 OK in 619ms (Views: 448.0ms | ActiveRecord: 32.0ms) 
[2011-09-29 13:25:57] ERROR Errno::EINVAL: Invalid argument* 
    *C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/railsrack/log_tailer.rb:25:in `write' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/rack/log_tailer.rb:25:in `print' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/rack/log_tailer.rb:25:in `tail!' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/rack/log_tailer.rb:15:in `call' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/content_length.rb:13:in `call' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/handler/webrick.rb:52:in `service' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:162:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:95:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:92:in `each' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:92:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:23:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/1.8/webrick/server.rb:82:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/handler/webrick.rb:13:in `run' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/server.rb:217:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands/server.rb:65:in `start' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:30 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap' 
    C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27 
    script/rails:6:in `require' 
    script/rails:6* 

此錯誤顯示每次當我點擊一些的link_to

這裏是我的SYS TEM屬性:

  1. Windows 7的86
  2. 的Ruby/1.8.7/2011-02-10
  3. 的WEBrick/1.3.1
  4. 的Rails 3.0.7

我的路線:

resources :priorities 
resources :timelines 
resources :cathegories 
resources :statuses 
resources :user_sessions 
resources :users 
resource :user, :as => 'account' 
resources :tasks 
match 'signup' => 'users#new', :as => :signup 
match 'admin' => "application#index",  :as => :admin 
match 'login' => "user_sessions#new",  :as => :login 
match 'logout' => "user_sessions#destroy", :as => :logout 

root :to => "users#show" 

真的不要在哪裏是錯誤:(我認爲它可以在路線... 我是愚蠢的問題SRY,我是新手..

開發日誌: 其怪異becouse服務器日誌是這樣的:

Started GET "/user" for 127.0.0.1 at Thu Sep 29 14:12:00 +0200 2011 
DEPRECATION WARNING: Setting filter_parameter_logging in ActionController is deprecated and has no longer effect, please set 'config.filter_parameters' in config/application.rb instead. (called from C:/Sites/stodolist/app/controllers/application_controller.rb:8) 
    Processing by UsersController#show as HTML 
    [1m[35mUser Load (1.0ms)[0m SELECT `users`.* FROM `users` WHERE `users`.`persistence_token` = '6e8fba00deefc7922358a3022942302058a31133d7b2dc98bcc1620a06869d36f81c5f42789da7e4fb7b36bddfd4ad628fe547fde111d9fe18af823e0698e8d5' LIMIT 1 
    [1m[36mUser Load (2.0ms)[0m [1mSELECT `users`.* FROM `users` WHERE `users`.`id` = 4 LIMIT 1[0m 
    [1m[35mSQL (0.0ms)[0m BEGIN 
    [1m[36mAREL (0.0ms)[0m [1mUPDATE `users` SET `updated_at` = '2011-09-29 12:12:01', `last_request_at` = '2011-09-29 12:12:01', `perishable_token` = 'v4g9FCSyQfuOAIFXfUQ' WHERE `users`.`id` = 4[0m 
    [1m[35mSQL (82.0ms)[0m COMMIT 
    [1m[36mTask Load (1.0ms)[0m [1mSELECT `tasks`.* FROM `tasks` WHERE (`tasks`.user_id = 4)[0m 
    [1m[35mTimeline Load (1.0ms)[0m SELECT `timelines`.* FROM `timelines` WHERE (`timelines`.user_id = 4) 
Rendered users/show.html.erb within layouts/application (115.0ms) 
Completed 200 OK in 321ms (Views: 143.0ms | ActiveRecord: 87.0ms) 
+0

爲什麼你的路線在開始和結束時都帶有星號(*)?看起來很奇怪,不應該這樣。 – Koraktor

+0

sry我在這個編輯器中添加了它。原來他們不在那裏...... –

回答

0

好吧,我發現這個概率的解決方案。我決定將我的網絡服務器更改爲morgel。經過兩個小時的工作,沒有錯誤。也許這個問題真的取決於我的環境 - Win 64bit/ruby​​/mysql/rails3和webrick。我會看看它將如何去...