我对 Rails 相当陌生,在将新的 html.erb 页面链接到时遇到一些问题 我的导航标签。
我使用脚手架和projects_controller.rb创建了一个应用程序。我当然有显示我的元素路径的index.html.erb,它还包含我所有元素的表格。 我有我的新建、编辑、销毁、更新和展示。显示包含指定元素的projects_path。好吧,现在我尝试做的是使用projects_controller.rb 创建(2)个新页面。所以我去添加了 def denquent 和 def close。两者都模仿 def 索引,因为我希望这两个页面具有完全相同的功能。我创建了 (2) 个新的 html.erb 页面,名称为 delinquent.html.erb 和 close.html.erb。我希望这些页面的行为就像索引页面一样,但只显示拖欠和已关闭的元素,而不是像我在 index.html.erb 上显示的所有可用元素。我的导航栏、导航栏内部、导航栏、导航右拉都已就位。我有 (3) 个链接可供使用,只是不知道如何将我新创建的页面链接到最后 2 个链接:
<li><%= link_to "Active Projects", projects_path></li>
<li><%= link_to "Delinquent Projects", '#' %></li> # I want to link this to delinquent.html.erb
<li><%= link_to "Closed Projects", '#' %></li> # I want to link this to closed.html.erb
最佳答案
在你的 Controller 中
def index
@project = Project.all
end
def delinquent
@projects = Project.delinquent_projects
render :template => :index
end
def closed
@projects = Project.closed_projects
render :template => :index
end
您还可以将index.html的内容提取到一个partial(除了标题),并在相应的 View 中渲染该partial
在 config/routes.rb 中(在文件顶部)
match 'projects/delinquent' => "projects#delinquent", :as => :delinquent_projects
match 'projects/closed' => "projects#closed", :as => :closed_projects
在 View 中
<li><%= link_to "Active Projects", projects_path %></li>
<li><%= link_to "Delinquent Projects", delinquent_projects_path %></li>
<li><%= link_to "Closed Projects", closed_projects_path %></li>
关于html - 如何链接到 html.erb 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20748084/