Хорошо. У меня есть форма создания, где люди могут создавать предприятия, которые затем добавляются в базу данных. Все работало нормально Rails выдавал свои ошибки, если вещи не были заполнены правильно, и если бы они были, вы были бы перенаправлены на другую страницу, которая покажет вам бизнес, который вы только что создали. Теперь я должен быть в состоянии щелкнуть «Создать» и заставить AJAX реализовать бизнес и добавить его в таблицу ниже. Вещи вроде работают. 1 бизнес обновляется, но динамически не добавляется в таблицу. 2. большая проблема в том, что они не заполняют обязательные поля, нажатие кнопки «создать» ничего не делает. Это не бросает ни одной из ошибок. Я использую jquery для вызова ajax через файлы .js.erb. Вот мой файл .js.erb.
$("#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, и помещать их во флэш-уведомление?