0
class Customers < ActiveRecord::Base
  def check_user_name
    ...
    mailto = Emailer.new
    mailto.contact(email, subject='ask', question)
  end
end

class Emailer < ActionMailer::Base
  def contact(email, subject, question, sent_at = Time.now)
  ...
  end
end

控制器

class CustomersController < ApplicationController  
  def ask    
  end

  def check_user    
    cust = Customers.new
    @answer = cust.check_user_name(params[:name], params[:email], params[:question])    
  end

end

有这个错误:

客户控制器中的 NoMethodError#check_user

4

1 回答 1

0

您正在方法中传递参数,并且您在模型中定义的方法没有参数接受。您应该执行以下操作:

class Customers < ActiveRecord::Base
  def check_user_name(name,email,question)
    mailto = Emailer.new
    mailto.contact(email, subject='ask', question)
  end
end

class Emailer < ActionMailer::Base
  def contact(email, subject, question, sent_at = Time.now)
  end
end

希望上面能给你一些想法并帮助你。

于 2013-04-21T10:36:31.273 回答