Мне не нужна функция массовое назначение в моем производственном коде.(В моем тестовом коде я часто его использую, но в этих случаях я делаю хочу установить произвольные столбцы.)
Так что если в моем производственном коде я просто избегаю этих форм:
Article.new(params[:article]) # or create
article.attributes = params[:article]
article.update_attributes(params[:article])
и вместо этого всегда вручную перечислять все атрибуты, например так:
Article.new(:title => params[:article][:title], :body => params[:article][:body], ...)
Я спасаюсь от проблем безопасности массового назначения (даже без использования attr_accessible
/ attr_protected
)?
Редактировать: Причина, по которой я не просто отключаю массовое назначение, заключается в том, что я хотел бы написать Article.create!(:blog_id => @blog.id, ...)
, где blog_id - это атрибут "unsave".