2013-06-20 82 views
0

我正在寫一些博客應用程序,我想實現一些私人消息系統。我instaled寶石稱爲mailboxer但有一個問題,因爲它是使用Rails 4不兼容。當我試圖將消息發送到從鐵軌控制檯其他用戶,我有一個錯誤:Rails 4和郵箱

RuntimeError: `attr_accessible` is extracted out of Rails into a gem. Please use new recommended protection model for params(strong_parameters) or add `protected_attributes` to your Gemfile to use old one. 
from /home/mateusz/.rvm/gems/[email protected]/gems/activemodel-4.0.0.beta1/lib/active_model/deprecated_mass_assignment_security.rb:14:in `attr_accessible 

我不不想安裝'protected_attributes',我想用Rails 4的方式做,但我不知道該怎麼做... 任何人都可以幫忙嗎?

+1

它看起來像你的寶石是尋找活躍的開發者的中間,所以你可能需要等待一段時間才能在rails 4上運行。選項可能僅限於自己修復gem,自己編寫功能或者玩等待遊戲。 – JimmyT

回答

0

默認情況下,您可以將gem 'protected_attributes'放入您的Gemfile中或使用在Rails 4中引入的strong params

如果你用強的參數,可以你可以做這樣的(例如,從railscasts.com拍攝):

def article_params 
    params.require(:article).permit(:name, :content, :published_at) # require is for mandatory and permit for optional parameters 
end 

然後調用:

@article.update(article_params) 
+0

我不想使用protected_attributes,因爲如果我使用它,我將必須重構許多模型以使用attr_accessible ... –

+0

來自protected_attributes文檔:「此插件在您的模型中添加了attr_accessible和attr_protected。」 –

+0

我不想遵循rails 4的方式,所以我認爲最好的方法是創建我自己的消息系統。 –