如何在Ruby on Rails中使用子文件夹内部视图

czfnxgou  于 2023-08-04  发布在  Ruby
关注(0)|答案(1)|浏览(87)

我有这个错误:

`uninitialized constant DogsBreeds`

字符串
每次我尝试访问:动物.com/doberman
这是我的home_controller.rb:

class HomeController < ApplicationController
  def page1

  end

  def page2

  end
end


这是我的路线rb

scope module: "dogs_breeds" do
  get "/doberman", to: 'home#page1'
  get "/chihuahua", to: 'home#page2'
end


我的views文件夹是这样组织的:
views > home > dogs_breeds > page1.html.erb
我尝试创建dogs_breeds_controller.rb

class DogBreedsController < ApplicationController
  def page1
    
  end

  def page2

  end
end


但一切都没有改变。

rseugnpd

rseugnpd1#

定义路线时,如下所示

scope module: "dogs_breeds" do
  get "/doberman", to: 'home#page1'
  get "/chihuahua", to: 'home#page2'
end

字符串
那么Ruby on Rails的命名约定希望你有一个HomeController控制器,命名空间为DogBreeds,并放置在一个dog_breeds子文件夹中,如下所示:

# in app/controllers/dogs_breeds/home_controller.rb
module DogBreeds
  class HomeController < ApplicationController
    def page1
      #...
    end

    def home2
      #...
    end
  end
end


参见官方Rails指南中的Rails Routing from the Outside In。

相关问题