同じ単語が単数形と複数形の両方を定義する「シャーシ」という単語の語形変化を定義する必要があり、これに本当に苦労しています。私はinitialize/inflections.rb定義でそこにいると思った
ActiveSupport::Inflector.inflections do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
inflect.uncountable(/.*chassis.*/i)
end
inflect.uncountable %w( fish sheep )
最初に足場をセットアップしたときに inflect.uncountable %w( chassis ) を使用しようとした例に注意してください。car_chassis や chassis_lookup などの他のテーブル。
Stack Overflow で同様の質問への回答として提供されているさまざまなソリューションを調べた結果inflect.uncountable(/.*chassis.*/i)
、足場を処理しているように見えましたが<%= link_to "Chassis", admin_chassis_url%>
、show アクション エラーのルートが表示されないルートに問題がありました。
ActionController::RoutingError - No route matches {:action=>"show", :controller=>"admin/chassis"}
index アクションが必要なため、パスにオブジェクトを渡していないので、これは理にかなっていますが、Rails は明らかに show アクションを要求していると考えています。
正規表現の他の例
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
私にとっては完全なゴブルディグックであり、正規表現を学ぶには、頭を丸くする傾向も正気もないという一生の学習が必要であり、レールのドキュメントhttp://api.rubyonrails.org/classes/ActiveSupport/Inflector/Inflections語形変化に関する.htmlは、率直に言って哀れです。
私は明らかに屈折を正しく理解していません。私が見つけた以前の回答のいずれも完全かつ適切な解決策を提供していないため、私と他の人にとって「シャーシ」という単語の語形変化を正確にどのように定義する必要があるかについて、誰かが完全な解決策を教えてくれますか?