Почему мои ссылки не работают для моего ruby ​​на сайте rails? Ссылки остаются на той же странице при нажатии на - PullRequest
0 голосов
/ 02 октября 2019

Мои ссылки не работают для моего ruby ​​на сайте rails. Когда я нажимаю на ссылку, сайт остается на той же странице. Я следую коду из книги под названием: «RailsSpace: создание сайта социальной сети с помощью ruby ​​on rails» Майкл Хартл. Книга доступна для бесплатной загрузки, вы можете следить за кодом для себя, ее страницы 55-56 начинаются с заголовка «добавление навигации». Вот ссылка на книгу .

Спасибо за вашу помощь.

Я попытался погуглить функцию "link_to" и изменить формат, все, что он сделал, это сгенерировало больше ошибок, пожалуйста, помогите.

Вот код из моего приложения / views / layout / site.htmlФайл .erb:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html>
    <head>
      <title><%= @title %></title>
      <%= stylesheet_link_tag "site" %>
    </head>
    <body>
      <div id="whole_page">
        <div id="header">RailsSpace</div>
        <div id="nav">
          <%= link_to_unless_current "Home", :action => "index" %> |
          <%= link_to "About Us" , :action => "help" %> |
          <%= link_to_unless_current "Help", :action => "help" %>
          <div style="background-color:white">
            <h1>Welcome to RailSpace!</h1>
            <p>This is going to be the best site ever!</p>
          </div>
        </div>
        <div id="content">
          <%= @content_for_layout %>
        </div>
      </div>
    </body>
  </html>

Вот код для моего файла app / controllers / site_controller.rb:

class SiteController < ApplicationController

  def index
    @title = "Welcome to RailsSpace!"
  end

  def about
    @title = "About RailsSpace"
    @header = "Hello"
  end

  def help
    @title = "RailsSpace Help"
  end

end

Вот код для моего файла config / rout.rb:

Rails.application.routes.draw do
  get  'site/index'
  get '/site/about'
  get 'site/help'

  root  'site#index'

// Вот вывод из консоли, когда я нажимаю на запрашиваемую ссылку:

 Started GET "/site/about" for ::1 at 2019-10-01 15:28:48 -0700
 Processing by SiteController#about as HTML
   Rendering site/about.html.erb within layouts/site
   Rendered  site/about.html.erb within layouts/site (Duration: 0.0ms | 
   Allocations: 5)
   Completed 200 OK in 7ms (Views: 6.8ms | ActiveRecord: 0.0ms | 
   Allocations: 2921)

Спасибо за вашу помощь

Когда я нажимаюпо ссылкам в моей навигационной панели сайт остается на той же странице. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 октября 2019

Благодаря мистеру Роквеллу Райсу он предложил заменить <%= @content_for_layout %> на <%= yield %>, и это действительно сработало. Вся хвала мистеру Роквеллу Райсу. Большое спасибо.

...