【问题标题】:How do I use Breadcrumbs-on-rails?如何使用轨道上的面包屑?
【发布时间】:2020-01-28 15:52:33
【问题描述】:

我对 Ruby、Ruby on Rails 甚至我使用的操作系统都非常、非常陌生。我想使用breadcrumbs-on-rails。我添加了gem,我已经做了bundle install,但是不明白怎么用?

我尝试复制并粘贴它以查看它是否可以这样工作,但它当然不起作用。 我需要用其他东西替换“home”(:root_path)和“my”(:my_path)吗?

这是我的pages_controller.rb

class PagesController < ApplicationController
  add_breadcrumb "home", :root_path
  add_breadcrumb "my", :my_path
  def index
    add_breadcrumb "index", index_path
  end
end

这是我的routes.rb

Rails.application.routes.draw do
  get 'forum' => 'pages#home'
  get 'forum/:id-:name' => 'pages#index'
end

我也在视图中写了&lt;%= render_breadcrumbs %&gt;

错误是:undefined local variable or method 'index_path' for #&lt; PagesController:0x0000561b24ad6200 &gt;

rake routes 给了我这个:

rake routes results

谁能向我解释一下它是如何工作的,以及所有的细节(如果我必须改变一些东西,如果是的话,怎么做)?很抱歉问了这么愚蠢的问题!

谢谢。

【问题讨论】:

  • rails routes 的输出是什么?什么是路径助手?文档中提供的路径助手是泛化
  • @Int'lManOfCodingMystery 抱歉,我不确定……“路径助手”是否类似于“index_path”?如果是这样,我应该写什么? “rails routes”什么也没做,是吗?我尝试了“rake routes”,它基本上重复了我的 route.rb 文件。
  • 路径助手应该类似于 index_path,是的。如果您将运行rails routes 的输出粘贴到终端中,那应该可以让我们提供更好的帮助:D
  • @Int'lManOfCodingMystery "rails routes" 对我没有任何作用:它说"错误:命令'routes' 无法识别。你的意思是'$ rake routes'?"
  • 是的,同样的事情取决于你的 Rails 版本

标签: ruby-on-rails ruby rubygems breadcrumbs


【解决方案1】:

bienvenue chez Ruby 和 Rails,我的 ;)

你做的一切都是对的。你做错的是你从字面上接受index_path。文档的意思是将 index_path 替换为您的控制器的 index 方法的路径,该方法由 rails 默认提供,并且每个控制器都会有所不同,当然:)

您的pages_controllerindex_pathpages_path,因此您应该在pages_controller.rb 中执行此操作:

  def index
    add_breadcrumb "index", pages_path
  end

希望能解决问题。

【讨论】:

  • 你不需要add_breadcrumb "my", :my_path。如果需要,这只是添加类似路径的示例。你不需要它。
  • 嗨!谢谢你。但我试过了,它不起作用。我试图改变一些事情,看看它是否有效,但似乎没有。没什么大不了的,我要回到我从0开始学到的东西再试一次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多