Rails, не генерирующие валидационные сообщения

У меня есть ряд стандартных валидаций рельсов в моей модели:

validates_presence_of :url_string
validates_uniqueness_of :url_string
validates_presence_of :stream_source
validates_presence_of :width
validates_presence_of :height
validates_presence_of :name
validates_uniqueness_of :name
validates_presence_of :customer_name
validates_presence_of :iframe_background_color

Если я не заполняю одну из этих полей в мою форму, то я возвращаюсь в форму, как и ожидалось, но странная вещь Сообщения об ошибках не отображаются. Я использую код ниже, чтобы отобразить сообщения об ошибках:

<% @camera.errors.full_messages.each do |error| %>
  <p><%= error %></p>
<% end %

Я также попытался распечатать объект @ Camera.Errors, и это то, что показано:

#<ActiveModel::Errors:0x12db19bc @base=#<Camera id: 1, stream_source: "test", width: 640, height: 360, active: true, name: "test", url_string: "CAYD19Vp", customer_name: "test", iframe_background_color: "#FFFFFF", online: true, created_at: "2011-08-30 15:54:16", updated_at: "2011-09-06 15:52:48", audio: true, iframe_text_color: "#FF00FF", iframe_link_color: "#FF0000", notes: "Some notes!", offline_image_file_name: "Cake.jpg", offline_image_content_type: "image/jpeg", offline_image_file_size: 196591, offline_image_updated_at: "2011-09-06 12:12:38", pull_stream_url: "test", bitrate: "300-500", show_branding: false>, @messages={}>
#

, как вы можете видеть, как можно проводить сообщения. Я попытался установить сообщение об ошибке проверки вручную, выполнив следующее:

validates_presence_of :name, :message => "No name present" 

, но он тоже не заполнил файлы хеша.

Действие обновления контроллера показано ниже:

def update
  @camera = Camera.find(params[:id])
  if @camera.update_attributes(params[:camera])
    flash[:notice] = "Camera updated"
    redirect_to nwcadmin_camera_path
  else
    redirect_to :action => :edit
  end 
end 

Я использую RUBY-версию Ruby 1.9.2P290 и Rails версии 3.1.0.

Любая помощь была бы здоровой!

Спасибо

6
задан iconoclast 25 June 2018 в 16:04
поделиться