Rails 6 访问控制器中的辅助方法

Rails 6 access helper method in controller

应用程序必须与 API 和 link 通信。因此控制器尝试定义一个变量如下:

link = helper.link_to(I18n.t 'cart.check_cart_status', acqs_url)

然而在控制台中这个returns

NameError (undefined local variable or method `acqs_url' for main:Object)

当此方法 respects the definition in the API docs.

访问控制器中的助手在不同版本之间发生了很大变化。 Rails 6.1.3 中的上述语法有什么问题?还是调用 I18n 搞砸了?

您缺少围绕 I18n.t 参数的括号 - 它应该是 link_to(I18n.t('cart.check_cart_status'), acqs_url),否则 URL 将作为参数传递给 I18.t 方法,而不是link_to 方法。

此外,如果您尝试在 rails 控制台中测试作业,您应该这样称呼它:

helper.link_to(I18n.t('cart.check_cart_status'), app.acqs_url)