2011-02-02 21 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

答えて

1

あなたの_fields部分は含まれていませんでした。問題が発生している場所です。
inputsに適切なname属性があることを確認してください。

コンソールでモデルをインスタンス化し、検証が実際に機能するかどうかを確認してください。
c = Company.new; c.valid?; c.errorsのようなものを試すと、エラーハッシュがコンソールに表示されます。

+0

ああを示しています。 <%= f.label:名%>
<%= f.text_field:名%> - 別のフィールドは、同じを持っています正しい値を返し、コンソールですべて正常に動作します。 –

+0

ruby​​-1.9.2-p0> s.errors => {:name => ["空白にできません"、:logo_file_name => ["設定する必要があります"]} –

+1

あなたの会社のモデルを表示してください。それはattr_accessibleにありますか? – fl00r

関連する問題