Проблема отправки формы рельсов - PullRequest
1 голос
/ 03 февраля 2011

У меня маленькая проблема.

Мой контроллер:

def new
@company = Company.new
@title = "Create company"
end

def create
@company = Company.new(params[:company])
@company.admin_id = current_user.id
if @company.save
  flash[:success] = "Company created!"
  redirect_to admin_path
else
  @title = "New company"
  render 'new'
end    
end

new.html.erb

<%= debug params[:company] %>

<% form_for @company, :html => { :multipart => true } do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<%= render 'fields', :f => f %>
<div class="actions">
<%= f.submit "Submit company!" %>
</div>
<% end %>

Company.rb модель

 validates :name,
:presence => true,
:length => { :maximum => 20 }

 validates_attachment_presence :logo

Но после отправки формы я все равно получаю только одну ошибку:

Имя не может быть пустым

Конечно, я заполняю поля имени и логотипа.

Есть идеи? Благодарю.

1 Ответ

1 голос
/ 03 февраля 2011

Вы не включили частичку _fields, и, вероятно, именно в этом ваша проблема.
Убедитесь, что у inputs есть соответствующие атрибуты name.

Попробуйте создать экземпляр вашей модели в консоли и посмотреть, действительно ли проверки работают.
Вы можете попробовать что-то вроде этого: c = Company.new; c.valid?; c.errors и вы увидите хэш ошибок в консоли.

...