为啥我的链接不适用于我的 ruby​​ on rails 网站?单击时链接保持在同一页面上

Posted

技术标签:

【中文标题】为啥我的链接不适用于我的 ruby​​ on rails 网站?单击时链接保持在同一页面上【英文标题】:Why are my links not working for my ruby on rails site? Links stay on same page when clicked on为什么我的链接不适用于我的 ruby​​ on rails 网站?单击时链接保持在同一页面上 【发布时间】:2020-01-31 05:09:37 【问题描述】:

我的链接不适用于我的 ruby​​ on rails 网站。当我单击该链接时,该站点将停留在同一页面上。我正在遵循一本书中的代码:“RailsS​​pace:在 Rails 上使用 ruby​​ 构建社交网站”,作者 Michael Hartl。这本书可以免费下载,您可以自己按照代码进行操作,它位于第 55-56 页,从标题“添加导航”开始。这是ebook 的链接。

感谢您的帮助。

我尝试用谷歌搜索“link_to”函数并更改格式,它所做的只是产生更多错误,请帮忙。

这是我的 app/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/routes.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)

感谢大家的帮助

当我点击导航栏中的链接时,网站停留在同一页面上。请帮忙。

【问题讨论】:

Why are my links not working for my ruby on rails site? Links stay on same page的可能重复 我重新发布了相同的问题,因此我可以包含另外两个文件中的代码。我不知道如何编辑我已经提出的问题。 标签正下方有一个edit 链接。 哈哈,天哪,我没看到,我以为它都是闪亮的蓝色。谢谢。 请在您单击链接时将控制台的输出添加到您的问题中。 【参考方案1】:

感谢 Rockwell Rice 先生,他建议我将 &lt;%= @content_for_layout %&gt; 替换为 &lt;%= yield %&gt; 并且它确实有效。所有的赞美都归功于洛克威尔·赖斯先生。非常感谢。

【讨论】:

以上是关于为啥我的链接不适用于我的 ruby​​ on rails 网站?单击时链接保持在同一页面上的主要内容,如果未能解决你的问题,请参考以下文章

Faraday::ConnectionFailed, Connection denied - connect(2) for “localhost” port 9200 Error Ruby on Ra

Turbolinks 不适用于 Rails 4.2.4 Ruby 2.2.4 中的 bootstrap select2

为啥 Ruby on Rails 不使用 .includes() 加载我的关联对象?

为啥 Ruby on Rails 的 URL Helper 在我的 URL 中加上句点?

在 ruby​​ on rails 动态 id 不能用于两个词,但可以完美地用于一个词——使用引导程序崩溃

为啥我的模拟器不适用于 NativeScript?