2012-09-18 82 views
0

我的文件夾結構如下: 根/ home3 /用戶名軌文件routes.rb中的語法問題

我的web應用程序正在rails_apps/my_app應用/所以我的意見是下rails_apps/my_app應用/應用/視圖

[email protected] [~]# ls -la rails_apps/my_app/app/views/ 
total 24 
drwxr-xr-x 6 username username 4096 Sep 17 00:48 ./ 
drwxr-xr-x 8 username username 4096 Sep 13 23:13 ../ 
drwxr-xr-x 2 username username 4096 Sep 17 01:51 home/ 
drwxr-xr-x 2 username username 4096 Sep 15 08:47 layouts/ 
drwxr-xr-x 2 username username 4096 Sep 17 00:00 projects/ 
drwxr-xr-x 2 username username 4096 Sep 17 00:49 scenarios/ 

[email protected] [~]# ls -la rails_apps/my_app/app/views/home/ 
total 16 
drwxr-xr-x 2 username username 4096 Sep 17 01:51 ./ 
drwxr-xr-x 6 username username 4096 Sep 17 00:48 ../ 
-rw-r--r-- 1 username username 311 Sep 17 00:14 index.html.erb 
[email protected] [~]# 

[email protected] [~]# cat rails_apps/my_app/app/views/home/index.html.erb 
<center><h1>my_app</h1></center> 
<html> 
    <head> 
    </head> 
    <body> 
    <form action = "/projects"> 
     <br> 
     <input type="submit" value="Manage Projects" /> 
    </form> 
    <form action = "/scenarios"> 
    <br> 
     <input type="submit" value="Manage Scenarios" /> 
    </form> 
    </body> 
</html> 
[email protected] [~]# 

這是我rails_apps/my_app應用/配置/ routes.rb中文件

My_app::Application.routes.draw do 

    resources :scenarios 

    resources :projects do 
    collection do 
     get :update_fields 
     get :annual_production 
    end 
    end 

    get "home/index" 

    match ':controller(/:action(/:id(.:format)))' 

    root :to => 'home#index' 

end 

有了這個,我的web應用程序顯示文件rails_apps的內容/ my_app應用/應用/視圖/家/index.html.erb正確的,但是當我點擊按鈕「管理項目」,它生成此錯誤

Internal Server Error 

The server encountered an internal error or misconfiguration and was unable to complete your request. 

Please contact the server administrator, [email protected]_app.company.com and inform them of the time the error occurred, and anything you might have done that may have caused the error. 

More information about this error may be available in the server error log. 

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. 

Apache Server at my_app.company.com Port 80 

我相信這是一個路由的問題,因爲我有另外一個web應用程序,這是非常相似,這一個,除了它直接在root下,這個是在rails_apps文件夾下,但我似乎無法修復它。

有人可以幫忙嗎?

+0

謝謝亞當。你希望我發佈什麼配置? – rh4games

+0

你能發佈這個網站的Apache配置嗎? –

+0

嗨,亞當,我試圖將我的應用程序,我的Mac上運行良好,到一個由商業託管服務提供商託管的Linux服務器;我無法訪問他們的Apache配置,但是在幫助我解決許多其他問題之後,他們的支持說,現在這是一個必須在我身邊解決的路由問題。 – rh4games

回答

0

我認爲你的表單帶你到項目控制器的創建動作,因爲默認情況下表單將發出一個發佈請求。

您可能想嘗試這樣的事情,它會告訴表單發出一個get請求,該請求應該帶您到索引操作。

<%= form_tag projects_path, :method => :get do %> 
    <%= submit_tag "Manage projects" %> 
<% end %> 

但是,如果我是你,我可能只是使用鏈接和樣式它看起來像一個使用CSS的按鈕。

+0

感謝Cyrus爲您的及時答覆。 我有完全相同的應用程序在另一個環境(Mac)中正常運行,並且表單以這種方式開始,如下所示: <%= form_for(@project,:html => {:name =>「ProjectInfo」})do | f | %> <%= end %> 我想在linux下實現相同的應用程序,但我得到這個問題。 – rh4games

+1

我同意Cyrus.I認爲問題不是操作系統特定的。 您能否告訴我顯示窗體<%= form_for(@project,:html => {:name =>「ProjectInfo」})的操作名稱do | f | %>? –

+0

謝謝@sounder。 對於主頁,我看到這些日誌log/development.log 「已啓動GET」/「for <公共IP地址>在9月18日星期二07:59:34 -0600 2012 通過HomeController處理#index爲HTML 呈現home/index.html.erb內佈局/應用程序(0.1ms) 在11ms內完成200 OK(Views:10.1ms | ActiveRecord:0。0ms)「 但是當我點擊」管理項目「按鈕,我得到了」內部服務器錯誤「消息,但我沒有看到服務器上的任何日誌 – rh4games