私は属に複数形にする必要があります属のモデルが必要です。私は、Ruby 2.2.1とRailsの4.2.1を使用していますし、SQLServerの2014年には、私は、設定/初期化子/ inflections.rbでインフレクタを追加しました:this questionあたりRails irregularルーティングとtablenameでインフレーターのエラー
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.irregular 'genus', 'genera'
end
を。私はRailsのコンソールで確認し、それが正しく単数と複数形、と私は
rails generate scaffold Genus name:string
を実行したときにテーブル名が正しく属と呼ばれていた、と物事は正しかったようにそれが見えました。
実際にビューに移動しようとすると、エラーが発生します。テーブルの名前属にアクセスしようとしているとして、インデックスページ(http://0.0.0.0:3000/genera)のために私は、データベースからのエラーを取得しています:
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
:新しい(
http://0.0.0.0:3000/genera/new)について
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>
を、私はパスのエラーを取得します
私は明らかに何か間違っていますが、このようなエラーを検索するものは何も見つかりません。そのインフレクターを追加する以外に何かをする必要がありますか?最初は私は何とかSQLServerのせいだと思っていましたが、それは新しいビューでルーティングに影響しませんでしたか?
Railsのバージョンは何ですか? 4ドット何ドット何? – MarsAtomic
それは4.2です。私は自分のコンピュータから離れているので、パッチのバージョンを確認することはできませんが、私はそれが12だと言いたいと思います。これはバージョンの1つで既知の問題ですか? – Maltiriel
4.2.1。どうやら私は余分な2を追加しました...これはもっと最近のパッチで修正されていますか? – Maltiriel