申し訳ございません。私は人々がデータベースを作成するビジネスを作成することができる作成フォームを持っています。すべてうまくいった。物事が正しく記入されなかった場合、Railsはエラーを投げていました。あなたが作成したばかりのビジネスを示す別のページに誘導されます。これで、createをクリックしてajaxにビジネスを実装させ、それを下の表に追加する必要があります。物事はうまくいく。 1ビジネスは更新されますが、テーブルに動的に追加されることはありません。 2.大きな問題は、必要なフィールドに記入しないことです。作成をクリックすると何も実行されません。いずれのエラーもスローされません。 jqueryを使用して.js.erbファイルからajaxを呼び出しています。ここに私の.js.erbファイルがあります。RoR、Jquery、Ajaxフォームエラー
$("#new_business").before('<div id="flash_notice"><%= escape_javascript(flash.delete(:notice)) %></div>');
$("#businesses").append("<%= escape_javascript(render(:partial => @businesses)) %>");
$("#new_business")[0].reset();
と私のビジネスコントローラ
def create
@business = Business.new(params[:business])
respond_to do |format|
if @business.save
#blindly make them the owner of the business they created
if current_user
current_user.business_id = @business.id
current_user.save
end
flash.now[:notice] = 'Business was successfully created.'
format.html { redirect_to(business_url(@business)) }
format.js { render :layout => false }
format.xml { render :xml => @business, :status => :created, :location => @business }
else
flash.now[:notice] = 'Necessary fields have not been filled out'
format.html { render :action => "new" }
format.xml { render :xml => @business.errors, :status => :unprocessable_entity }
end
end
end
フラッシュ予告=必要なフィールドを使用すると、ページを更新しない限り、表示されません。記入されていません。デフォルトのxmlエラーのいずれも表示されません。彼らはすべての正しいフォームを記入しない場合、ボタンが応答しないようです。どのようにしてajaxを使ってRubyが投げているエラーを呼び出してフラッシュ通知に入れますか?
まあまあです。要点は、Ajaxを使用して動的にそれを下の表に送信し、ページをリフレッシュしないことです。 – Mike
私はajaxを使ってリフレッシュすることを意味しました。フォームをコンテナに配置し、このコンテナを更新します。 – marcgg