傑克達與瑞兒絲的大小事

快速筆記整理網站開發上碰到的各種技巧和問題,免得年紀大忘光,至少還有一個地方可以查找

Category Archives: Rails 錯誤解決

解決 Rails 3.1.1 整合 ckeditor gem 的 assets precompile 問題

由於專案開發使用到文字編輯器,選用了 ckeditor gem,而專案的 Rails 剛好是 3.1.1 的版本,就在順利將 ckeditor 整合至專案並 deploy 至 production 後才發現線上環境竟然找不到 ckeditor 的 config 設定檔,查了老半天,才發現原來是 assets precompile 的問題,這時有了方向也就比較容易找解答,也順便筆記

問題發生狀況:

Rails 版本: 3.1.1
ckeditor gem 版本:  3.7.1
paperclip gem 版本: 3.0.2

無法顯示 ckeditor 編輯器畫面,出現以下錯誤訊息

Failed to load resource: the server responded with a status of 404 (Not found)

解決方法:

1. 開啟 config/environments/production.rb

2. 加入

config.assets.precompile += %w( ckeditor/* )

3. 再次 deploy 執行 assets:precompile 即可

參考文章:

https://github.com/galetahub/ckeditor

http://stackoverflow.com/questions/7914924/integrating-ckeditor-with-rails-3-1-asset-pipline

廣告

Undefined local variable or method `unconfirmed_email’ 錯誤解決

安裝 devise gem ,新增一筆 User 資料時,頁面出現

NameError in Devise::RegistrationsController#create

undefined local variable or method `unconfirmed_email’ for #<User:0x00000101a7dd28>

發生原因:

unconfirmed_email is required for reconfirmable. For some reason this was enabled by default in config/intializers/devise.rb:

config.reconfirmable = true

unconfirmed_email 欄位是針對 email 重新認證的必要欄位,預設 reconfirmable = true ,是表示當 email 欄位被修改後需要再重新認證,先將新的 email 記錄在 unconfirmed_email 欄位裡,直到完成認證,才會將 unconfirmed_email 記錄的 email 複製到 email 欄位

User 資料表中必須對應增加 unconfirmed_email 欄位,可參考透過 devise 生成的 migration

解決方法:

因為我只是需要 email 做為我的帳號,不會有變更發生,也就不會有再次認證的情況,所以將 config.reconfirmable 改為 false 就好,如下:

config.reconfirmable = false

參考文章:

http://stackoverflow.com/questions/9049151/undefined-local-variable-or-method-unconfirmed-email-when-registering-users