У меня есть очень простая форма Project
с полем name
и полем выбора с различными именами Client
:
<%= f.label :name %><br/>
<%= f.text_field :name %>
<%= f.label :client_id %><br/>
<% options = current_user.clients.all.map { |client| [client.name, client.id] } %>
<%= f.select(:client_id, options, {:prompt => 'Select...'}) %>
Теперь, когда пользователь нажимает кнопку "Отправить", фактически не выбравClient
из поля выбора возвращается сообщение о том, что Client
с идентификатором "" не может быть найдено.
Есть ли способ изменить код моего контроллера, чтобы он работал?
def create
client = current_user.clients.find(params[:project][:client_id])
@project = client.projects.build(params[:project])
if @project.save
flash[:success] = "Project created."
redirect_to @project
else
render :action => "new"
end
end
Локальная переменная client
вызывает проблему, но я не знаю, как ее исправить, чтобы ошибки обрабатывались методами валидации.