2016-07-25 10 views
0

我需要一個屬應該屬於多屬性的模型。我使用Rails 4.2.1與2.2.1紅寶石和SQLServer 2014年我在配置/初始化/加是inflections.rb的變形器:導軌不規則與路由和表名的導入器錯誤

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.irregular 'genus', 'genera' 
end 

this question。我在Rails的控制檯檢查並正確單一化和多元狀態,而當我跑

rails generate scaffold Genus name:string 

表名是正確調用屬,它看起來像的東西是正確的。

但是,當我嘗試實際轉到視圖時,出現錯誤。對於索引頁(http://0.0.0.0:3000/genera)我從數據庫中,因爲它正試圖訪問一個表名爲屬得到一個錯誤:

TinyTds::Error: Invalid object name 'genus'.: EXEC sp_executesql N'SELECT [genus].* FROM [genus]' 
Extracted source (around line #14): 
12 
13 <tbody> 
14 <% @genera.each do |genus| %> 
15  <tr> 
16  <td><%= genus.name %></td> 
17  <td><%= link_to 'Show', genus %></td> 

對於新(http://0.0.0.0:3000/genera/new),我得到一個路徑錯誤:

undefined method `genus_index_path' for #<#<Class:0x007fd9b9604380>:0x007fd993e8a2f0> 
Extracted source (around line #1):     
1 <%= form_for(@genus) do |f| %> 
2 <% if @genus.errors.any? %> 
3  <div id="error_explanation"> 
4  <h2><%= pluralize(@genus.errors.count, "error") %> prohibited this genus from being saved:</h2> 
5 
6  <ul> 

Trace of template inclusion: app/views/genera/new.html.erb 

我顯然做錯了什麼,但是我找不到任何搜索這樣的錯誤的東西。除了添加Inflector之外,我還需要做些什麼嗎?起初我以爲這是SQLServer的錯,但這不會影響新視圖中的路由,是不是?

+0

什麼是你的確切的Rails版本? 4點什麼點? – MarsAtomic

+0

它是4.2;我無法檢查修補程序的版本,因爲我離開了我的電腦,但我想說它是12.這是在其中一個版本中的已知問題? – Maltiriel

+0

4.2.1。顯然我增加了一個額外的2 ...這是固定在一個更新的補丁? – Maltiriel

回答

0

問題原來是我忘了重新啓動我的Web服務器。很顯然,Inflectors的變化不會被Web服務器所接受,但當然只是從命令行生成的運行軌道,它確實看到了變化,所以......愚蠢的錯誤,但是如果有其他人發生,希望這個將幫助他們。