レール -- プロジェクトのホームページにアクセスします

プロジェクトのホームページにアクセスしてください

最初にコマンド ラインで実行します (プロジェクト ディレクトリ (例: /workspace/library) にアクセスすることを忘れないでください) bunlde exec Rails サーバー

次に、ブラウザを開いて localhost:3000 にアクセスすると、ホームページが表示されます (このページは gem ファイル内に存在します。ライブラリ ディレクトリ内には見つかりません)。コンテンツを追加する必要があります。例: URL を入力し、ページを表示します。

ユーザーがアクセスする必要がある URL: localhost:3000/books/list があるとします。

次に、次のことを行うだけです。

1. ルーティングの変更 (ルーター)

2. 対応する (コントローラー、アクション) を作成します。

3. 対応するページ (erb) を作成します。

1. ルーティング config/routes.rb (ルーティング ファイル) を変更します。

このファイルに次のコードを追加します。

Rails.application.routes.draw do
  # 可以生成/books
  resources :books do
    collection do
      # 可以对应好(处理)/books/list这个链接
      # 下面这个路由,让rails可以处理URL:/books/list这个链接,
      # 不过处理这个链接有个前提,这个链接发起的请求方式是使用get请求发起的
      get :list
    end
  end
end

(リソース ... する ... 終了 )

これは「ルート」を生成します。つまり、URL /books/list を認識し、それを書籍コントローラーの list アクションに渡して処理します。

2. コントローラー/アクションを作成し (コントローラーはアプリ ディレクトリにある必要があります)
、新しいコントローラー ファイルを作成します: app/controllers/books_controller.rb

このファイルに次のコードを追加します。

class BooksController < ApplicationController
  
  # 创建对应的action,因为要求访问它的list,所以在这里给它加上list的action
  def list
  end
end

(コントローラーは、異なる URL の処理には使用されない複数のアクション (つまり、共通のメソッド) で構成されます。

このリスト アクションにはコードがありません。対応する erb ページ (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. 対応するビュー ファイルを作成します。
新しいビュー ファイルを作成します: app/views/books/list.html.erb
(ブック コントローラー内のすべてのビューは app/views/books ディレクトリに配置する必要があります)

(対応するコントローラーの名前は何ですか。views/ の後に使用される名前は何ですか。例: Bookscontroller は、views/books です。

(アクションの名前、ビューの名前、リスト アクション、対応するビューは list.html.erb です)

次のコードのような HTML コンテンツを erb ファイルに追加できます。

<p>三体1 - 地球往事</p>
<p>三体1 - 黑暗森林</p>
<p>三体3 - 死神永生</p>

わかりやすくするために、HTML コードのみが表示されます。ブラウザにアクセスしてページの結果を確認してください。

4. ビューで、ruby コードを使用し、次のコードのようにapp/views/books/list.html.erb
のコンテンツを変更します

<h3>注意:以下使用了RUBY代码来显示HTML</h3>

<!-- 先定义了一个数组<% books = [] %> -->
<% books = ['三体1 - 地球往事', '三体2 - 黑暗森林', '三体3 - 死神永生'] %>
<!-- 使用了一个循环 -->
<% books.each do |book| %>
  <!-- 打印出来 -->
  <p><%= book %></p>
<% end %>
 
<a href='/books/new'>新建图书页</a>                                      

ご覧のとおり、構文は PHP や JSP と同じです
● <% %> は Ruby コードを実行します
● <%= %> は戻り値を表示します

おすすめ

転載: blog.csdn.net/Toml_/article/details/131589872
おすすめ