2016-07-12 85 views
0

我有一個表單將信息保存到我的網站的數據庫中。即使表單不需要登錄,每當我嘗試提交表單時,我都會收到錯誤「驗證失敗:密碼不能爲空」。我不確定爲什麼會發生這種情況,因爲表單中沒有密碼字段。這裏是從控制器代碼,錯誤是從節約線路:「驗證錯誤:密碼不能爲空」,但表單中沒有密碼字段

def create 
    @newinstructor = Instructor.new 
    @newinstructor_app = InstructorApp.where(first_name: params['instructor']['first_name']).where(last_name: params['instructor']['last_name']) 
    @newinstructor.first_name = params['instructor']['first_name'] 
    @newinstructor.last_name = params['instructor']['last_name'] 
    @newinstructor.story = params['instructor']['story'] 
    @newinstructor.save! 

這裏是instructor.rb:

class Instructor < ActiveRecord::Base 
     has_many :activities 

     devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 
     has_many :activities 
     has_one :instructor_app 
    end 
+0

您可以發佈您的模型中,instructor.rb文件? – Ren

+0

我剛剛編輯了問題 – Zoe

+0

fyi如果您使用代碼編輯原始帖子,閱讀起來會更容易 – Ren

回答

2

最初簽約和/或日誌您應該能夠修復,請按照以下任一方式進行身份驗證:

刪除從Instructor:validatable選項,設計選項現在應該是:

devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable 

OR

添加下面的方法到您Instructor

def password_required? 
false 
end 

讓我知道這是否有助於

1

它看起來像你有你的教練的模型設計像:database_authenticatable模塊。你不能看到它,但Devise預計默認情況下有一個密碼字段。如果教師窗體沒有登錄名,那麼一個選項是簡單地刪除設計模塊。設計通常用於在用戶模式,如果你有一個,當用戶在