Ruby on Rails attr_accessible и строительные леса - PullRequest
1 голос
/ 29 марта 2011

Я недавно начал создавать приложение в рельсах (3.0.5).Просто чтобы привести вещи в движение, я поставил одну из своих моделей (скажем, User).Теперь модель, которую она создает, является совершенно голым расширением ActiveRecord::Base, однако контроллер использует User.create(params[:user]) и т. Д., Что подразумевает установку attr_accessible.изменения, я получаю предупреждения о защищенных полях в массовых назначениях, и ни один из этих методов не работает!Может ли кто-нибудь помочь мне понять, почему это так и почему рельсы помостят что-то, что не должно работать?

1 Ответ

1 голос
/ 29 марта 2011

Scaffolding и attr_accessible - это две совершенно разные вещи.

Когда вы указываете атрибут как доступный, вы говорите, что при массовом назначении (например, сохранении) вашей модели будут обновляться ТОЛЬКО доступные значения. Таким образом, если у вас есть доступное поле имени пользователя и вы пытаетесь изменить поле пароля, последнее не изменится, и вы получите предупреждение.

С другой стороны, строительные леса - это просто быстрый способ быстро запустить и запустить ресурс RESTful.

На самом деле нет никакой связи с этими двумя идеями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...