У меня есть форма обновления в Rails 3 для пользователей-администраторов, которая молча терпит неудачу, несмотря на наличие проверок.Он ранее работал , но когда я переместил все в пространство имен, он больше не сохраняет.
Вот соответствующий код из моего контроллера:
def update
@admin = Admin::Admin.find(params[:id])
respond_to do |format|
if @admin.update_attributes(params[:admin])
flash[:success] = "'#{@admin.name}' was successfully updated."
format.html { redirect_to admin_admins_path }
else
format.html { render action: "edit" }
end
end
end
Имодель (незавершенная, но ранее работавшая):
class Admin::Admin < ActiveRecord::Base
validates :name, :presence=>{:message=>"Name can't be blank"}
validates :email, :presence=>{:message=>"Email can't be blank"},
:length => {:minimum => 3, :maximum => 254, :message=>"Email must be between 3 and 254 characters"},
:uniqueness=>{:message=>"Email has already been registered"},
:format=>{:with=>/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message=>"Email must be a valid email format"}
validates :password, :presence=>{:message=>"Password can't be blank"}
end
И первая часть формы частично:
<%= form_for(@admin) do |f| %>
Все загружается правильно, но когда я пытаюсь сохранить, мои проверкиигнорируются, и он перенаправляет на страницу индекса с сообщением об успехе, но без сохранения данных.У меня такое ощущение, что мне не хватает чего-то общего с пространствами имен, но я не совсем уверен, в чем проблема.Может ли он искать модель в каталоге базовой модели?