不可算名詞でのエラー

.formInformationsContainer
= form_for @information do |f|
- if @information.errors.any?
#error_explanation
%h2= "#{pluralize(@information.errors.count, "error")} prohibited this information from being saved:"
%ul
- @information.errors.full_messages.each do |msg|

この部分で

undefined method `information_index_path' for #<#<Class:0x007ff8621fd670>:0x007ff8620ed5c8>
Did you mean? information_path
informations_path

というエラーがでた。
調べたところ

http://stackoverflow.com/questions/19504657/why-is-resources-in-the-routes-rb-file-not-creating-all-of-the-routes

Your problem is related to the fact that the word information is both the plural and the singular form. Just like water, or paper, or evidence. Rails considers those words uncountable.

とのこと。

config/initializers/inflections.rb

ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.uncountable %w( information )
end

不可算名詞だったのか。

この記事がわかりやすい。
http://qiita.com/ma2ge/items/15da496a3015b74e2191

※とおもったら最初からinformationは登録されているようだったので、違う原因のよう。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です