为啥我的链接不适用于我的 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 网站。当我单击该链接时,该站点将停留在同一页面上。我正在遵循一本书中的代码:“RailsSpace:在 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 先生,他建议我将 <%= @content_for_layout %>
替换为 <%= yield %>
并且它确实有效。所有的赞美都归功于洛克威尔·赖斯先生。非常感谢。
【讨论】:
以上是关于为啥我的链接不适用于我的 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 中加上句点?