1

マルチステップウィザードで検証をセットアップしようとしています(邪悪な宝石とこのGUIDEを使用)。最初のステップでは、(Devise + Registrations を使用して) ユーザー情報を入力していますが、それを送信すると、次のエラーが表示されます。

NoMethodError in RegistrationsController#create

undefined method `include?' for nil:NilClass
Rails.root: /Users/nelsonkeating/Desktop/remindeal1

Application Trace | Framework Trace | Full Trace
app/models/user.rb:54:in `active_or_address?'


Class User
  validates_presence_of :address, :presence => true, :if => :active_or_address?

  def active_or_address?
    status.include?('address') || active?
  end

 def active?
   status == 'active'
 end
4

1 に答える 1

1

User モデルに「status」を追加し、ウィザード コントローラーから step の値に設定する必要があります。

このガイドでは、「ソリューション」セクションの冒頭で移行を実行するように指示されています。

class ProductStatus < ActiveRecord::Migration

  def up
    add_column :products, :status, :string
  end

  def down
    remove_column :product, :status
  end

end
于 2013-03-07T19:22:34.293 に答える