我的代码看起来像我需要理解的那样:
<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
的定义,但是它可以正常工作 - 它会显示在菜单栏中。
答案 0 :(得分:0)
这是动态定义的。如果你运行
rake routes
您将获得所有可用的路线,
http://guides.rubyonrails.org/routing.html
admin_ok_path是rails自己为匹配路由admin_ok定义的路径助手,
如果您从应用程序路径目录运行rake路由,您将获得匹配的admin_ok路由。
admin_ok_path将提供相对网址,admin_ok_url将为您提供绝对网址。
答案 1 :(得分:0)
帮助t
,I18n.t
的缩写,用于国际化
例如,在config / en.yml中,如果你有:
menubar:
yes:
okay: Okay
这将写成“Okay”
admin_ok_path
是路径路径的动态生成助手。您可以通过运行rake routes
答案 2 :(得分:0)
t
是translate
的缩写。您将在config/locales
中找到本地化文件 - 它们基本上是定义字符串的YAML文件。查看更多here
admin_path_ok
方法是返回路径的路由助手。查看您的config/routes.rb
文件。更多信息here
答案 3 :(得分:0)
'menubar.yes.okay'可能在'config / locales / en.yml'中定义。
rake routes | grep admin
将为您提供与admin相关的所有路线。