RoR,链接不重定向到页面

时间:2014-02-28 09:45:10

标签: ruby-on-rails ruby devise

我正在使用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

更新:显然我没有将我的代码设置为每个用户拥有统计信息页面的位置。我想我应该这么晚才停止编码。我很感激任何帮助将其设置为每个用户都有统计页面的位置,因为我还不熟悉编码。

2 个答案:

答案 0 :(得分:1)

这是一个css / html问题: 在您的user.html.erb视图中,删除此div <div style="position: relative; top: -350px">,然后点击您的链接。

您需要使用引导网格,而不是尝试使用位置属性移动dom元素。

答案 1 :(得分:0)

可能存在许多导致问题的问题:

  1. 路线
  2. 控制器操作
  3. HTML / CSS渲染

  4. <强>路线

    您的路线应如下所示:

    #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操作

    中提供的stats_path