我正在使用 RoR 4 和 ruby 2,并实现了 Devise。 我似乎无法在用户页面上找到重定向到用户 stats_path 的链接。 这是代码。
页面 Controller
class PagesController < ApplicationController
def opening
end
def user
end
def stats
end
end
路线.rb
devise_for :users
root "pages#opening"
get "user" => "pages#user"
get "stats" => "pages#stats"
在个人资料页面上,链接写法如下。
<div class="profile-bar">
<h1 style="position: relative; color:white"> <%= current_user.first_name %></h1>
<%=link_to "Your Settings", stats_path, class: "btn btn-default btn-lg" %>
</div>
该链接不会将用户重定向到他们的统计页面,这很奇怪,因为它昨晚正常工作,而且我不记得更改过任何内容。如有任何建议,我们将不胜感激。
这是 github 页面的链接 - https://github.com/Thefoodie/PupPics
更新:显然我还没有将代码设置为每个用户都有一个统计页面。我想我应该在深夜停止编码。我很感激任何帮助将其设置为每个用户都有一个统计页面的地方,因为我对编码还是新手。
最佳答案
可能有许多问题导致了该问题:
- 路线
- Controller 操作
- HTML/CSS 渲染
路线
您的路线结构应如下所示:
#config/routes.rb
devise_for :users
root "pages#opening"
resources :pages, only: [] do
collection do
get :user
get :stats
end
end
您应该在 cmd 中发布 rake paths
的结果,以便我们了解您的应用有哪些路由
Controller
澄清一下,您的 Controller 代码似乎没问题,但我们需要知道加载时的任何日志。这是一个格式正确的 Controller 布局:
#app/controllers/pages_controller.rb
class PagesController < ApplicationController
def opening
end
def user
end
def stats
end
end
HTML/CSS
我的直觉是你的 HTML/CSS 没有正确渲染链接
首先,您正在使用 inline styling (不好):
<h1 style="position: relative; color:white">
其次,您在链接上使用了一个类:
<%=link_to "Your Settings", stats_path %>
尝试删除类并使用rake paths
操作中提供的stats_path
关于ruby-on-rails - RoR,链接未重定向到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091486/