【发布时间】:2021-08-12 07:45:47
【问题描述】:
一直在开发我的第一个测试应用,我试图让用户点击下拉菜单中的“我的个人资料”,然后转到他们的个人资料页面。我一直在研究解决方案并空手而归。我知道这是我缺少的一些非常基本的东西,但我无法弄清楚。这是错误的截图
我的导航代码如下:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="/">
<div class="browns.helmet.jpeg">
<img src="browns.helmet.jpeg" class="img-fluid">
</div>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" <%= link_to "Home", root_path%>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Image Feed</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Account
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" <%= link_to "My Profile", users_path %>
<li><a class="dropdown-item" <%= link_to "Login", login_path %></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" <%= link_to "Sign Up", new_user_path %>
</ul>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="d-flex">
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>
我的路由文件如下:
Rails.application.routes.draw do
get 'photo/index'
get 'photo/store'
resources :users, only: [:new, :create, :show]
get 'login', to: 'sessions#new'
post 'login', to: 'sessions#create'
get 'welcome', to: 'sessions#welcome'
get 'authorized', to: 'sessions#page_requires_login'
get 'users', to: 'users#show'
root 'welcome#index'
end
我的 rake 路线显示如下:
photo_index GET /photo/index(.:format) photo#index
photo_store GET /photo/store(.:format) photo#store
users POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
user GET /users/:id(.:format) users#show
login GET /login(.:format) sessions#new
POST /login(.:format) sessions#create
welcome GET /welcome(.:format) sessions#welcome
authorized GET /authorized(.:format) sessions#page_requires_login
GET
非常感谢任何帮助。
【问题讨论】:
-
这种观点本身就有一些问题。在
users_path %>和new_user_path %>之后缺少</li>结束标签。<a class="nav-link active" aria-current="page" <%= link_to "Home", root_path%>也会导致 HTML 格式完全错误,因为link_to创建了一个锚标记。你想要<%= link_to "Home", root_path, class: 'nav-link active' %>。我建议使用 HTML 验证器。
标签: ruby-on-rails ruby bootstrap-4