我正在使用RoR 4和ruby 2并实现了Devise。 我似乎无法在我的用户页面上获得链接以重定向到用户stats_path。 这是代码。
pages_controller
class PagesController < ApplicationController
def opening
end
def user
end
def stats
end
end
的routes.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
更新:显然我没有将我的代码设置为每个用户拥有统计信息页面的位置。我想我应该这么晚才停止编码。我很感激任何帮助将其设置为每个用户都有统计页面的位置,因为我还不熟悉编码。
答案 0 :(得分:1)
这是一个css / html问题:
在您的user.html.erb视图中,删除此div <div style="position: relative; top: -350px">
,然后点击您的链接。
您需要使用引导网格,而不是尝试使用位置属性移动dom元素。
答案 1 :(得分:0)
可能存在许多导致问题的问题:
<强>路线强>
您的路线应如下所示:
#config/routes.rb
devise_for :users
root "pages#opening"
resources :pages, only: [] do
collection do
get :user
get :stats
end
end
您应该在您的cmd中发布rake routes
的结果,以便让我们了解您的应用有哪些路线
<强>控制器强>
为了澄清,似乎您的控制器代码是正常的,但我们需要知道加载时的任何日志。这是一个格式正确的控制器布局:
#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 %>
尝试删除课程&amp;使用rake routes
操作