2013-03-09 10 views
25

Pochodzę z rozwoju PHP i próbuję nauczyć się Ruby on Rails. Chciałbym wiedzieć, jaka jest najlepsza praktyka wstawiania nagłówków i stopek? Zazwyczaj w PHP po prostu robiłbym include('header.php');, a następnie include('footer.php');Wstawianie nagłówków i stopek w aplikacji internetowej Ruby on Rails?

Teraz próbuję nauczyć się Ruby on Rails i próbuję zrozumieć, jak i gdzie powinienem umieścić te pliki nagłówka/stopki?

I stworzył nową aplikację

rails new new_app 

Potem wygenerowany nowy kontroler

rails generate controller SignUp 

Stworzyło niektóre pliki i foldery. Opracowałem trochę kodu HTML w nowym folderze new_app/views/sign_up, ale chciałbym dołączyć nagłówek i stopkę do tej strony i do przyszłych stron. Gdzie powinienem mieć te pliki? W tym samym folderze? lub pod domyślnym folderem w new_app/views/layouts? Ponadto, w jaki sposób mogę dołączyć pliki po ich utworzeniu?

Jestem nowy w Ruby on Rails i rozwoju Chciałbym zdobyć wiedzę od ekspertów! Dzięki!

Odpowiedz

55

W new_app/views/layouts tam będzie plik o nazwie application.html.erb. Otwórz ten plik i umieść treść nagłówka nad tym, gdzie jest napisane: <%= yield>, a zawartość stopki poniżej <%=yield>.

zwykle zrobić parital w pliku układy nazywane _header.html.erb i _footer.html.erb i zrobić coś takiego: -

<%= render "layouts/header" %> 
<%=yield %> 
<%= render "layouts/footer" %> 
+0

Dodałem plik '_header.html.erb' i' _footer.html.erb' i zawiera kod podany w moim 'application.html.erb' ale dostaję błąd' actionView :: MissingTemplate' ... także, jak to jest, że w pierwszym wierszu twojego kodu znajduje się '' '' '' '' '' 'a inne nie mają'% '? – hellomello

+0

edytowałeś moją odpowiedź, musisz podać lokalizację podczas renderowania, w tym przypadku musisz powiedzieć, że twoje części nagłówkowe i stopki są w folderze układów. Edytowana odpowiedź powinna działać –

2

można utworzyć częściowe dla nagłówka i stopki, i uwzględnić je przy użyciu render w pliku layoutu, jeśli masz dynamiczną zawartość. W przeciwnym razie wystarczy edytować plik układu, aby uzyskać nagłówek i stopkę.

Twoje widoki wygenerowane przez rusztowanie dla SignUp, wszystkie będą używały pliku układu do renderowania ostatecznego HTML, więc wszystko w pliku app/views/layouts/application.html.erb zostanie dołączone do wyjścia (zakładając, że używasz tego pliku jako pliku układu dla twojego widoku).