0

我有看起来像这样的代码,我需要理解:

<ul class="dropdown-menu">
    <li><%= link_to  t('menubar.yes.okay') , admin_ok_path %></li>
</ul>

在这段代码中,它是什么menubar.yes.okay以及在哪里定义?同样,在哪里admin_ok_path定义?

我问的原因是因为我想添加另一个菜单栏项。如果我写类似

<li><%= link_to  t('menubar.yes.no') , admin_ok_no %></li>

然后我得到一个错误说admin_ok_no没有定义。那么,为了设置这个新的菜单栏选项,我需要定义什么?我已经No: "No"在我的 中添加了一个en.yml,但它仍然是同样的错误。请注意,我已经检查了我的 routes.rb 并且没有定义admin_ok_path但是可以正常工作 - 它显示在菜单栏中。

4

4 回答 4

0

这是动态定义的。如果你跑

rake routes

你会得到所有可用的路线,

http://guides.rubyonrails.org/routing.html

admin_ok_path 是由 rails 它自己为匹配的路由 admin_ok 定义的路径助手,

如果您从应用程序路由目录运行 rake 路由,您将获得匹配的 admin_ok 路由。

admin_ok_path 将提供一个相对 url,而 admin_ok_url 将为您提供绝对 url。

于 2013-04-14T16:15:41.957 回答
0

助手t,缩写I18n.t用于国际化

例如,在 config/en.yml 中,如果您有:

menubar:
  yes:
    okay: Okay

这将写“好的”

admin_ok_path是为路由路径动态生成的助手。您可以通过运行查看所有这些rake routes

于 2013-04-14T16:16:10.520 回答
0

t是 的缩写translate。您会在其中找到本地化文件config/locales- 它们基本上是定义字符串的 YAML 文件。在这里查看更多

admin_path_ok方法是一个返回路径的路由助手。查看您的config/routes.rb文件。更多信息在这里

于 2013-04-14T16:17:13.897 回答
0

'menubar.yes.okay' 可能在 'config/locales/en.yml' 中定义。并将rake routes | grep admin为您提供与管理员相关的所有路线。

于 2013-04-14T17:55:43.053 回答