我正在创建一个 ajax 表单,该表单将在我的 rails 应用程序中成功完成“create”方法后执行一些函数。它围绕查找单词的定义,显示它们,然后在用户保存所需的定义后将它们从屏幕上删除。我遇到的问题是从success.js.erb 访问函数rollUp 和revertButtons(存储在words.js 中)。我什至尝试将这些函数放在 application.js 中,但它仍然不起作用。现在,当这些函数包含在文件中时,success.js.erb 甚至根本没有执行......有什么想法吗?
创建动作:
if @word.save!
params['word_definition'].each do |definition|
if @word.definitions.create(text: definition)
numDefs += 1
end
end
respond_to do |format|
if numDefs > 0
format.js { render action: "success" }
end
end
else
format.js { render action: "failure" }
end
words.js:
function submitForm(){
if(isSubmittable()){
$('#findWord form').serialize();
$('#findWord form').submit();
}
}
// other functions, like revertButtons() and rollUp() are stored here too
成功.js.erb:
revertButtons();
rollUp();
$('<div />', { class: "alert alert-success",
text: "The word has been saved",
}).wrap('<div class="single_error" />').parent().appendTo("#fieldAndErrorsContainer");