2011-07-28 5 views
0

user_controller.rbは、どのように私は= F <%てエラーメッセージを取得していないです

def create 
    @user = User.new(params[:user]) 
    @company = Company.new(params[:company]) 
    [@company,@user].each {|ins| 
     raise ActiveRecord::RecordInvalid.new(ins) unless ins.valid? 
    } 
    User.transaction do 
    @company.save! 
    @user.company = @company 
    @user.save! 
    end 
    rescue ActiveRecord::RecordInvalid   
      render :action => 'new' 
end 

コントローラ内で<%= f.error_messages%>救助のActiveRecord :: RecordInvalidとのエラーメッセージを表示します。 error_messages%> 助けてください!

+0

:あなたのコントローラで

accepts_nested_attributes_for :user 

:あなたの会社のモデルでは

overcomplicatedと問題になりやすい=>使用nested_attributes – apneadiving

+0

私は推測します会社とユーザーの関係はありますか? – apneadiving

+0

1つの会社には多くのユーザーがいますが、なぜビューファイルの<%= f.error_messages%>でエラーメッセージが表示されますか?エラーメッセージを表示するにはどうすればよいですか? – shweta

答えて

4

ソリューション:何Railsの方法だん

def create 
  @company = Company.new(params[:company].merge(:user_attributes => params[:user]) 
    if @company.save 
    #what you want 
    else 
    @user = @company.user           
    render :action => 'new' 
    end 
end 
+0

いつか私は代理受諾を得て、この回答を受け入れたものとしてマークします。 – jaydel

+0

@jaydel:サポートありがとう! ;)もちろん – apneadiving

+0

...良い答えは報われるべきです – jaydel

関連する問題