我在视图中有这一行.
<p><%= t("vIEws.commits.message").call(self,tree_path(@commit.ID)) %></p>
相应的语言环境行看起来像这样[config / locales / en.rb]
:message => lambda { |this,path| "This is the initial commit in this repository," + this.link_to( "browse the initial tree state",path ) + "." }
这里的问题是lambda方法没有使用#callin在视图中调用,它被其他人调用,这意味着这不是传递给它的self.
这包含vIEws.commits.message和路径包含{:rescue_format =>:HTML}.
GitorIoUs团队在整个应用程序中都使用了这种方法,这意味着我不能仅仅将逻辑转换为辅助方法,而无需花费一天时间进行表单工作.
我做了一些研究,找到了关于确切线的this线程.
这是问题的解决方案.
This seems to indicate you have the i18n gem installed on your system; this gem is incompatible with GitorIoUs. Uninstalling it with Rubygems should resolve the issue.
我试图卸载i18n,但运行bundle install只是再次安装它.
如果不重构700行语言环境文件,我该如何解决这个问题呢?
解决方法 这是一个常见问题,如何分解复杂的嵌套文本.使用markdown来简化它
This is the initial commit in this repository[browse the initial tree state](http://example.com/some/path).
或许用中文你会说
这是第一个提交在这个知识库[看初始状态](http://example.com/some/path).
我们要考虑三件事;
>外文
>链接文字
>这两个的顺序和位置
如果链接相对于文本的位置不需要更改,则@WattsInABox更正.
vIEws.commits.message: "This is the initial commit in this repository"vIEws.commits.browse: "browse the initial tree state"
然后我们只是撰写
<p> <%= t "vIEws.commits.message" %> <%= link_to t("vIEws.commits.browse"),tree_path(@commit.ID) %> .</p>
但有时秩序和位置确实重要,
在这种情况下,我们可以尝试更聪明.
vIEws.commits.message: "This is the initial commit in this repository %{link}"vIEws.commits.browse: "browse the initial tree state"
然后我们可以在正确的位置插入链接
<p> <%= t "vIEws.commits.message",link: link_to(t("vIEws.commits.browse"),tree_path(@commit.ID)) %></p>总结
以上是内存溢出为你收集整理的ruby-on-rails – 在语言环境文件中使用辅助方法?全部内容,希望文章能够帮你解决ruby-on-rails – 在语言环境文件中使用辅助方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)