Если есть несколько статических страниц в древовидной структуре. Те, что на первом уровне, обслуживаются с помощью static_pages_controller.rb, а в моем route.rb у меня есть:
get '/static_pages/news' , :to => 'static_pages#news' , :as => 'news'
get '/static_pages/index' , :to => 'static_pages#index' , :as => 'index'
....
Вышеперечисленное существует в
app\views\static_pages\news.html.erb
app\views\static_pages\index.html.erb
....
Теперь я вставил несколько других статических страниц в корень static_pages:
app\views\static_pages\ermis\news.html.erb
app\views\static_pages\ermis\index.html.erb
....
Я добавил в route.rb это:
get '/static_pages/ermis/news' , :to => 'static_pages#news' , :as => 'news'
get '/static_pages/ermis/index' , :to => 'static_pages#index' , :as => 'index'
Вышеупомянутое не работает, потому что действия уже существуют (родительские папки). Поэтому я пошел на болезненный шаг переименования файлов в (хотя должен быть лучший способ?!?)
app\views\static_pages\ermis\ermisnews.html.erb
app\views\static_pages\ermis\ermisindex.html.erb
....
и мой route.rb стал
get '/static_pages/ermis/news' , :to => 'static_pages#ermisnews' , :as => 'ermisnews'
get '/static_pages/ermis/index', :to => 'static_pages#ermisindex', :as => 'ermisindex'
....
контроллер пуст
class StaticPagesController < ApplicationController
end
Почему страницы не обслуживаются? что мне не хватает?
Когда я нажимаю на
<%= link_to("Ermis", ermisnews_path, class: 'pictureTitle') %>
я получил
"The action 'ermisnews' could not be found for StaticPagesController"
Здесь мои маршруты.rb
Prefix Verb URI Pattern Controller#Action
root GET / static_pages#index
ermisindex GET /static_pages/ermis/index(.:format) static_pages#ermisindex
ermisnews GET /static_pages/ermis/news(.:format) static_pages#ermisnews
news GET /static_pages/news(.:format) static_pages#news
index GET /static_pages/index(.:format) static_pages#index
ПРИМЕЧАНИЕ. Я не получаю сообщения об ошибке при использовании ссылки, напрямую указывающей на файлы .erb на static_pages.
<%= link_to("News" , news_path , class: 'pictureTitle')
Question:
1) How can I use the same controller to also serve static pages underneath /static_pages eg. /static_pages/ermis
2) Am I obliged to actually rename the files to have them represent unique actions?