attr_accessible - это белый список атрибутов, которые могут быть массово назначены модели. Это стратегия, которая говорит, что вам нужно явно перечислить все атрибуты. Таким образом, «открытые порты» хорошо известны и четко перечислены в модели. Это противоположно attr_protected, который является черным списком полей, которые должны быть защищены от массового назначения.
Часто даже в умеренных и простых приложениях есть поля типа внешнего ключа, такие как user_id или company_id, которые не могут быть определены пользовательским вводом. Эти поля должны быть защищены от ввода пользователя. Поле первичного ключа 'id' в любом случае обычно защищено Rails.
Если в вашей модели есть все столбцы, которые могут быть обновлены с помощью ввода формы, то обязательно перечислите их с помощью attr_accessible (или вы можете пропустить attr_accessible для этой конкретной модели).
Не выбрасывайте ребенка с водой, однако, attr_accessible - хорошая вещь и убедитесь, что вы используете его в других моделях, которые могут быть не такими открытыми, как та, о которой вы говорите в своем вопросе.
I обычно использовать attr_protected на моделях с большим количеством столбцов и attr_accessible на большинстве других.