2011-02-02 167 views
1

我遇到了一個小問題。Rails表單提交問題

我的控制器:

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 

但在提交表格後,我已經得到反正只有一個錯誤:

姓名ca不是空白

當然,我填寫名稱和標誌字段。

任何想法?謝謝。

+0

顯示你的`_field`部分 – fl00r 2011-02-02 21:30:48

回答

1

你沒有包含你的_fields部分,這可能是你的問題所在。
確保您的inputs具有合適的name屬性。

嘗試在控制檯中實例化您的模型,看看驗證是否真正起作用。
你可以試試這樣的:c = Company.new; c.valid?; c.errors,你會在控制檯看到你的錯誤散列。

+0

哦,對不起,我已經錯過了它: <%= f.label:名稱%>
<%= f.text_field:名稱%> - 另一個領域,具有相同正確的值,並在控制檯中一切正常。 – 2011-02-02 21:29:25