2016-09-20 22 views
3

私はと作業しています。Rails 5私は足場ツールを使ってMediaモデルを作成しました。Railsの "Media/Medium"の複数化と特異化(変奏)5

rails g scaffold media name:string 

そして、私は別の名前とルートを持って、などを表示...

enter image description here

私はrake routes私はmedium予想外のルートを持って、そのせいで私が得たとき、それはそう、右pluralisingませんでした意見の異なる問題。

enter image description here

は、私はおよそno method media_index_path文句だ<%= form_for @media do ..を使用しようとします。

どうすれば固定して正常に動作させることができますか?

ご協力いただきありがとうございます。

答えて

4

これについてのすべての日を検索し、私はそれが基本的にpluralisingを担当しているinflectionsと呼ばれるものを使用することをお勧め非常に最初の足場を実行して、クラス名のための単語をsingularisingときもう少し好奇心であること:

enter image description here

  1. は私が作成したモデルを削除します。私はそれを固定し得るためにやった

    は、次の方法でinflectionsを使用することでした。

    rails d scaffold Media 
    
  2. 編集config/initializers/inflections.rbと:

    ActiveSupport::Inflector.inflections(:en) do |inflect| 
        # Here you can put the singular and plural form you expect 
        inflect.irregular 'media', 'medias' 
    end 
    
  3. 今再び足場を実行します。

    rails g scaffold Media 
    

を今、あなたはあなたが期待される方法で、すべてのものを持っている必要があります。あなたはPluralizationsSingularizations(抑揚)はRuby on Railsでを上書きしているので。

私はそれが役に立ちそうです。

1

この質問は本当に私の英語への挑戦である:D私は名詞メディアをググ

は、それはいくつかの純粋主義者は、複数があるラテン語からの借用された単語メディア、と主張していると述べています形式はです。です。この観点から、Railsジェネレータは適切な仕事をしました。

しかし、毎日の英語では、人々は単純にメディアを無制限の名詞または集団名詞として使用します。それに同意する場合は、設定/初期設定/ inflections.rbを調整してください。

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.uncountable %w(media) 
end 
関連する問題