假设您有一个:remote => true
的编辑表单。您的控制器方法看起来像
def update
@article = Article.find(params[:id])
respond_to do |format|
if @article.update_attributes(params[:article])
format.html { redirect_to @article}
format.js { render :js => "window.location.replace('#{article_path(@article)}');"}
else
format.html { render :action => "edit" }
# Render update.js.erb which replaces the body of the form
format.js {}
end
end
end
在Rails 3.2.1中成功更新文章的最佳方法是什么?原始的JS解决方案看起来有点邋,但我确实喜欢这样一个事实:它显然与format.html
版本执行相同的功能。
我更喜欢不使用RJS(if that even works in Rails 3.2?)
的解决方案答案 0 :(得分:1)
如何在视图文件本身上添加以下代码行
#some_file.js.erb
`window.location = redirect_path
正如您在问题中所提到的,您不喜欢RJS,但我认为比在控制器中编写js代码更好地遵循这种模式。
答案 1 :(得分:0)
你的ajax是否与模型(.php,.asp?)相互作用。在这种情况下,我首选的方法是在提交后在模型中创建成功/失败标准,并直接从那里重定向。不确定这个应用程序是否有意义吗?