Rails表单提交问题

时间:2011-02-02 21:14:15

标签: ruby-on-rails forms submit

我有点问题。

我的控制器:

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 个答案:

答案 0 :(得分:1)

您没有包含_fields部分,这可能是您的问题所在 确保您的inputs具有适当的name属性。

尝试在控制台中实例化您的模型,看看验证是否真的有用 您可以尝试这样的事情:c = Company.new; c.valid?; c.errors,您将在控制台中看到您的错误哈希值。