我正在尝试添加Ajax,到目前为止,我可以添加一个javascript响应,但是我无法添加模板。
这是我的JavaScript
应用.js
$("#new_role").on("ajax:success", function (e, data, status, xhr)
{
$("#newRoleForm").hide(1000);
return;
}).bind("ajax:error", function (e, xhr, status, error)
{
return alert("Error");
});
这是我的控制器
def create
@role = Role.new(params[:role])
respond_to do |format|
if @role.save
format.html { redirect_to roles_path, notice: 'Role was successfully created.' }
format.json { render json: @role, status: :created, location: @role }
else
format.html { render action: "new" }
format.json { render json: @role.errors, status: :unprocessable_entity }
end
end
end
现在我看到很多评论说我应该添加 create.js.erb,但如果我只是创建一个并放置 alert(...它确实被执行了。我已经将我的表单修改为 ajax 远程 => true。但我不确定我做错了什么。
目前还不清楚你在这里问什么,但是如果你想让 Rails 用 javascript(rails 的一个非常强大的特性)来回应,在上面的例子中添加类似的东西:
format.js { render 'create' }
然后将 create.js.erb 文件放在相应的文件夹中。(可能是"角色")。在这里,你可以在rails的帮助下使用javascript/jquery更新你的dom等。优点是您可以访问所有助手和部分!