Rails 3 - Обработка условного создания в контроллере - PullRequest
0 голосов
/ 09 октября 2010

В моем контроллере def create есть следующее:

@photo = current_user.photos.create(params[:photo].merge(:project_id => params[:project_id])

В моем приложении фотографии действительны, если они имеют идентификатор_проекта или нет ....

Но мне нужно, чтобы в моем операторе create не было ошибок, и он работал в обоих случаях. A. Если есть параметр project_id, вставьте B. Если нет, введите значение NULL по умолчанию при создании записи

Какой самый умный способ Rails3 сделать это?

Спасибо

Ответы [ 2 ]

1 голос
/ 09 октября 2010

Если у вас нет проверки ActiveRecord, метод create не должен вызываться, если столбец равен nil.

0 голосов
/ 09 октября 2010

Вы можете сделать что-то вроде:

<%= f.hidden_field :project_id, :value => PROJECT_ID_WHICH_CAN_BE_NULL_OR_NOT %>

внутри своего представления, в виде фотографии.Контроллер тогда будет:

@photo = current_user.photos.create(params[:photo])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...