我需要一個屬應該屬於多屬性的模型。我使用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的錯,但這不會影響新視圖中的路由,是不是?
什麼是你的確切的Rails版本? 4點什麼點? – MarsAtomic
它是4.2;我無法檢查修補程序的版本,因爲我離開了我的電腦,但我想說它是12.這是在其中一個版本中的已知問題? – Maltiriel
4.2.1。顯然我增加了一個額外的2 ...這是固定在一個更新的補丁? – Maltiriel