В чем преимущество использования javascript для вашего приложения rails в файле .js.erb вместо того, чтобы просто вставлять его в файл application.js? У меня есть кнопка создания для бизнеса, поэтому я должен поместить код в файл create.js.erb или поместить его в свой application.js, используя:
$("#business_submit").click(function() {}
Все, что в стороне, это то, что у меня есть кнопка создания
$('.error').hide();
$("#business_submit").click(function() {
// validate and process form here
$('.error').hide();
var name = $("input#business_name").val();
if (name == "" || name == "Required Field") {
$('#namelabel').show()
$("#business_name").focus();
return false;
}
var address = $("#business_address").val();
if (address == "" || address == "Required Field") {
$('#addresslabel').show();
$("#business_address").focus();
return false;
}
var city = $("#business_city").val();
if (city == "" || city == "Required Field") {
$('#citylabel').show();
$('#business_city').focus();
return false;
}
var state = $("#business_state").val();
if (state == "" || state == "Required Field") {
$('#statelabel').show();
$("#business_state").focus();
return false;
}
var zip = $("#business_zip").val();
if (zip == "" || zip == "Required Field") {
$('#ziplabel').show();
$("#business_zip").focus();
return false;
}
var phone = $("#business_phone").val();
if (phone == "" || phone == "Required Field") {
$('#phonelabel').show();
$("#business_phone").focus();
return false;
}
var category = $("#business_business_category_id").val();
if (category == " - Choose one - ") {
$('#categorylabel').show();
$("#business_business_category_id").focus();
return false;
}
$("#new_business")[0].reset();
$("#new_business").toggle();
return false;
});
Это отлично работает в моем .js файле, но когда я нажимаю кнопку "Создать", он фактически не отправляет информацию, введенную в форму, в базу данных. Поэтому я попытался скопировать код в файл .js.erb. Теперь форма отправляется в базу данных при нажатии кнопки create, но половина javascript не работает. $('. Error'). Hide(); не скрывает мои ошибки, и все они появляются независимо. $( "# New_business" ) [0].RESET(); не переписывает мою форму, и нет никаких проверок проверки при нажатии кнопки create. Поэтому у меня либо есть полностью функциональная форма, которая не подает, либо подает, но не работает. С какой целью я должен работать?
Я вижу много кода с $.ajax, но я не могу понять его жизнь. Я попытался немного, и я начал получать некоторые ошибки защиты от подделки в рельсах, что представляет собой еще одну проблему.