我在home_helper.rb
module HomeHelper
class ContactRequest
include ActiveModel::Model
attr_accessor :name, :email, :phone, :message, :captcha
validates :name, presence: true,length: {in:2..255}
validates :email, presence: true, length: {in:6..255}
validates :message, presence: true
validates :phone, presence: true
validates :captcha, presence: true
end
end
这个类基本上用于将来自JSON POST的dat绑定到一个对象,然后我可以将其用于
因此,我没有任何需要保留信息。
但是,当调用控制器的相关方法时,我收到错误
def contact
@contactReq = ContactRequest.new(JSON.parse(params[:json]))
logger.debug "ContactRequest: #{@contactReq.attributes.inspect}"
我在日志中看到的这一行
NameError (uninitialized constant HomeController::ContactRequest):
app/controllers/home_controller.rb:6:in `contact'
不是视图和此控制器可用的home_helper?或者我应该把这个类放在关注目录中?
答案 0 :(得分:2)
您需要在类名HomeHelper
前面添加模块名称:
def contact
@contactReq = HomeHelper::ContactRequest.new(JSON.parse(params[:json]))
...
end