2014-03-04 48 views
0

我正在學習ror並在我的控制器中我試圖訪問測試表。這裏是我的控制器Rails和mysql數據庫堆棧級別太深

class ExecutionsController < ApplicationController 
    def index 
     @testcases = Tests.all 
    end 
end 

代碼在這裏是當我運行的服務器,並嘗試加載網頁,我得到的是談到了堆疊在過長的錯誤頁面,我的觀點

<h1>Hello, Wortld!</h1> 
<hr /> 
<% @testcases.each do |t| %> 
    <p><%= t.package %></p> 
<% end %> 

。如果我加載軌道控制檯,我可以看到測試數據庫在那裏,但對於我來說,我無法讓我的webapp與它交談。

➜ automation_metrics_tool git:(master) ✗ rails c 
Loading development environment (Rails 4.1.0.rc1) 
2.1.1 :001 > ActiveRecord::Base.connection.tables 
=> ["execution_notes", "jira_defects", "requirements", "schema_migrations",  
"store_environments", "stores", "test_executions", "test_requirements", "test_types",  
"testexec_jiradefects", "tests", "zephyr_testcases"] 

感謝您的任何幫助。

+0

你可以把'Tests'類的實現嗎? –

+0

@artmees ExecutionsController是它。會不會是這個問題?該控制器應該與db表名稱相同嗎? – jrock2004

+0

不,我問的是模型...是不是有一個名爲Test類定義的模型? –

回答

0

In Rails ActiveRecord模型的名稱是單數,而數據庫中的真實表格是複數。所以在你的例子中,你應該調用User.all而不是Users.all

0

我想通了這個問題。我有一個叫做class的表字段。不久,我將模型從課堂上改爲clazz,重新導入分貝,一切都很好。