Visitez la page d'accueil du projet
Exécutez d'abord en ligne de commande (n'oubliez pas d'accéder au répertoire du projet, par exemple: /workspace/library) bunlde exec rails server
Ensuite, ouvrez le navigateur, visitez localhost:3000, et vous pouvez voir la page d'accueil. (Cette page existe dans le fichier gem. Elle ne peut pas être trouvée dans le répertoire de la bibliothèque.) Maintenant, il n'y a plus que la structure. Il n'y a pas de contenu, donc vous besoin d'ajouter du contenu, par exemple : saisir une URL, afficher une page
Supposons que l'URL que l'utilisateur doit visiter : localhost:3000/books/list
Ensuite, il nous suffit de :
1. Modification du routage (routeur)
2. Créez le correspondant (contrôleur, action)
3. Créez la page correspondante (erb)
1. Modifier le routage config/routes.rb (fichier de routage)
A ce fichier, ajoutez le code suivant :
Rails.application.routes.draw do
# 可以生成/books
resources :books do
collection do
# 可以对应好(处理)/books/list这个链接
# 下面这个路由,让rails可以处理URL:/books/list这个链接,
# 不过处理这个链接有个前提,这个链接发起的请求方式是使用get请求发起的
get :list
end
end
end
(ressources ... faire ... fin )
Il générera une "route", c'est-à-dire qu'il reconnaîtra l'URL /books/list et la transmettra à l'action list du contrôleur de livres pour traitement
2. Créez un contrôleur/action (le contrôleur doit se trouver dans le répertoire de l'application)
et créez un nouveau fichier de contrôleur : app/controllers/books_controller.rb
Ajoutez le code suivant à ce fichier :
class BooksController < ApplicationController
# 创建对应的action,因为要求访问它的list,所以在这里给它加上list的action
def list
end
end
(Un contrôleur est composé de plusieurs actions (c'est-à-dire des méthodes communes) qui ne sont pas utilisées pour gérer différentes URL.
Il n'y a pas de code dans cette action de liste. Elle passera directement à la page erb correspondante ( app/views/books/list.html.erb)
class BooksController < ApplicationController
# 创建对应的action,因为要求访问它的list,所以在这里给它加上list的action
def list
# 1.渲染一段字符串
# render :text => 'hihihi'
# 2.渲染一个json
# render :json => {
# key: 'value'
# name: 'Tom'
# sex: 'male'
# }
# 3.啥也不写,就渲染对应的 app/views/books/list.html.erb
end
end
3. Créez le fichier de vue correspondant
Créez un nouveau fichier de vue : app/views/books/list.html.erb
(Toutes les vues du contrôleur de livres doivent être placées dans le répertoire app/views/books)
(Quel est le nom du contrôleur correspondant, quel nom est utilisé après views/, par exemple : Bookscontroller, c'est views/books
(Quel est le nom de l'action, quel est le nom de la vue, l'action de liste, la vue correspondante, est : list.html.erb)
Le contenu HTML peut être ajouté au fichier erb, tel que le code suivant :
<p>三体1 - 地球往事</p>
<p>三体1 - 黑暗森林</p>
<p>三体3 - 死神永生</p>
Pour plus de simplicité, il n'affiche que le code HTML.Visitez le navigateur pour voir le résultat de la page
4. Dans la vue, utilisez le code ruby
Modifiez le contenu de app/views/books/list.html.erb , comme le code suivant :
<h3>注意:以下使用了RUBY代码来显示HTML</h3>
<!-- 先定义了一个数组<% books = [] %> -->
<% books = ['三体1 - 地球往事', '三体2 - 黑暗森林', '三体3 - 死神永生'] %>
<!-- 使用了一个循环 -->
<% books.each do |book| %>
<!-- 打印出来 -->
<p><%= book %></p>
<% end %>
<a href='/books/new'>新建图书页</a>
Comme vous pouvez le voir, la syntaxe est la même que PHP et JSP
● <% %> pour exécuter du code ruby
● <%= %> pour afficher la valeur de retour