【发布时间】:2017-05-25 02:54:33
【问题描述】:
我正在尝试遵循 here 中提到的“在 Rails 5 中调用辅助方法的新方法”,最初是 PR here。
我可以使用“旧方法”来处理以下内容:
# app/models/order.rb
class Customer < ActiveRecord::Base
include CustomersHelper
# some code...
def name_make_uppercase
self.first_name = uppercase(first_name)
self.last_name = uppercase(last_name)
end
end
# app/helperss/customers_helper.rb
module CustomersHelper
def uppercase(input)
return unless input
input[0] = input[0].to_s.capitalize
input
end
end
但是,使用新方法,我相信我应该能够删除“包括 CustomersHelper”并添加“帮助程序”。到我在控制器中的大写函数,例如
# app/models/order.rb
class Customer < ActiveRecord::Base
# include CustomersHelper
# some code...
def name_make_uppercase
self.first_name = helpers.uppercase(first_name)
self.last_name = helpers.uppercase(last_name)
end
end
但是,现在我的规范出现以下错误:
NameError: #Customer:0x00000004d50be8 的未定义局部变量或方法`helpers'>
我很好奇我做错了什么。
【问题讨论】:
标签: ruby-on-rails controller ruby-on-rails-5 helpers