2016-07-25 32 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服务器所接受,但当然只是从命令行生成的运行轨道,它确实看到了变化,所以......愚蠢的错误,但是如果有其他人发生,希望这个将帮助他们。