Domanda

Ho un rails 3.2 Applicazione in cui sto usando la gemma Alta tensione per le mie pagine pubbliche. Sembra funzionare bene, tuttavia, vorrei essere in grado di mettere alcune sottodirectory nella cartella delle mie pagine.

Per esempio:

/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb

In questo esempio, voglio puntare il mio browser a pages/directory_1/index, ecc. La documentazione afferma di essere possibile:

Puoi niencono le pagine in una struttura di directory, se ciò ha senso da un punto di vista dell'URL per te: link_to "report Q4 Rapporti", Page_path ("About / Corporate / Policies / HR / EN_US / Biz / Vendite / Quarter-Four")

Ma qualcosa del genere non funziona per me.

L'ho provato con uno spazio dei nomi:

namespace :directory_1 do
  match "pages/:id" => "high_voltage/pages#show"
end

Ma quello del corso poi va a directory_1/high_voltage/pages#show, che è sbagliato.

Semplicemente facendo la partita "pages/directory_1/:id" => "high_voltage/pages#show" Viene fornito con due problemi: non consente più alcuna vista nella directory Pages stessa, e le viste con lo stesso nome del file in diverse sottodirectory si confondono.

Quindi, come posso realizzare directory nidificate all'interno della mia directory Pages con alta tensione?

È stato utile?

Soluzione

Basta creare una struttura di directory all'interno app/views/pages Per riflettere la gerarchia dell'URL di cui hai bisogno.

Ad esempio, se hai creato una vista denominata about.html.erb con il percorso app/views/pages/about_me/about.html.erb, lo farà rivolgerlo usando

<%= link_to "About", page_path("about_me/about") %>

Ho ricevuto questa soluzione esatta lavorando in un progetto attuale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top