我有8个 Controller 将使用will_paginate对它们的索引页进行分页。我想覆盖每个默认值的“上一个”和“下一个”,而不必指定相同的选项8次。有没有一种方法可以只覆盖默认值一次(也许通过将will_paginate子类化)。

最佳答案

will_paginate uses I18n,所以您可以使用它。
鉴于您使用英语作为默认语言环境,因此application.rb中应包含以下行:

config.i18n.default_locale = :en

然后,您可以通过将以下内容添加到config/locales/will_paginate.en.yml来更改分页链接的文本:
en:
  will_paginate:
    previous_label: "← go back"
    next_label: "go forward →"

或者,您可以将它们添加到默认翻译文件中:config/locales/en.yml但是我发现它很快变得难以处理。

注意:如果您使用其他区域设置(例如es),则至少需要将YAML文件中的en: key 替换为es:,并且要简洁地命名文件,
使用config/locales/will_paginate.es.ymlconfig/locales/es.yml

关于ruby-on-rails - 如何最好地干燥will_paginate选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7073789/

10-13 06:08