rails--Visitez la page d'accueil du projet

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

Je suppose que tu aimes

Origine blog.csdn.net/Toml_/article/details/131589872
conseillé
Classement