

Railsのルーティングの決まりで、下記の条件の場合はテンプレートに直接ルーティングが行われるはずです  
・config/routes.rbにルーティングが定義されている[今回は `get 'view/keyword'`]  
・上のルーティングに対応するコントローラーは存在しない  
・上のルーティングに対応するテンプレートは存在する[今回は app/views/view/keyword.html.erb]

しかし、実際にroutes.rbの定義URL(<http://localhost:3000/keyword/search> )にアクセスするとRouting
Error(uninitialized constant KeywordController)となります。

ここで、下記の内容の対応するコントローラー[今回は
app/controllers/view_controller.rb]作成すると正常にページを表示できます。

[code]

    class ViewController < ApplicationController
      def keyword
      end
    end
    
[/code]

よって、テンプレートに直接ルーティングするルールが効いてないように思われるのですが、このような事象に心当たりのある方は解決方法を教えて頂けませんか。


CC BY-SA 4.0
2018-05-05T04:09:52.917
43798
2018-05-05T06:52:03.740
2018-05-05T06:52:03.740
76
28417
question
ruby-on-rails ruby
テンプレートファイルに直接ルーティングしてくれない


すいません、解決いたしました。 コントローラーではなく、コントローラー内の **アクションメソッド**
(下記)が無い場合にテンプレートに直接ルーティングしてくれるんですね。

[code]

    class ViewController < ApplicationController
      def keyword ←アクションメソッド(不要)
      end         ←アクションメソッド(不要)
    end
    
[/code]

コントローラ自体とそのクラス定義は必要なんですね。失礼いたしました。


CC BY-SA 4.0
2018-05-05T05:02:43.553
43801
2018-05-05T05:02:43.553
28417
43798
answer