В чем преимущество того, что вы помещаете свой 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. Теперь форма отправляется в базу данных, когда я нажимаю кнопку «Создать», но половина JavaScript не работает. $ ('. Error'). Hide (); не скрывает мои ошибки, и все они появляются независимо. $ ( "# New_business") [0] .RESET (); не сбрасывает мою форму, и нет никаких проверок проверки, когда я нажимаю создать. Так что у меня либо есть полностью функциональная форма, которая не отправляет, либо форма, которая отправляет, но на самом деле не работает. Какой из них я должен попытаться получить работу?
Я вижу много кода с $ .ajax, но не могу понять это ради своей жизни. Я попытался немного, и я начал получать некоторые ошибки защиты от подделок в рельсах, что является совсем другой проблемой.