Rails-使用AJAX或重定向呈现JavaScript
我有一个用于的rails远程Rails-使用AJAX或重定向呈现JavaScript,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-4,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 4,我有一个用于的rails远程表单。出于几个原因,使用AJAX提交表单内容是一种更好的方法。如果保存表单时出现错误,我希望能够将.js.erb文件呈现到页面,该页面使用显示所有错误的部分更新错误div 如果没有错误,我希望能够重定向并显示一条闪光消息 这可能吗?您可以在控制器方法中尝试类似的方法: if @code flash[:success] = 'Success message' render js: "window.location = '#{path}'" else f
表单。出于几个原因,使用AJAX提交表单内容是一种更好的方法。如果保存表单时出现错误,我希望能够将.js.erb
文件呈现到页面,该页面使用显示所有错误的部分更新错误div
如果没有错误,我希望能够重定向并显示一条闪光消息
这可能吗?您可以在控制器方法中尝试类似的方法:
if @code
flash[:success] = 'Success message'
render js: "window.location = '#{path}'"
else
flash.now[:alert] = @instance.errors.full_messages
render partial: 'your/partial'
end
详细说明:
@code
表示保存已执行模型方法的代码/信息的变量李>
@instance
表示模型实例李>
path
表示在没有错误的情况下要重定向的路径李>
- 使用
render js:
而不是redirect\u to
,因为您可能已经在控制器中设置了response\u to:html,:js
,所以重定向的唯一方法是使用javascript,否则您将获得作为ajax响应重定向的完整呈现页面
flash。现在
允许您在同一请求中访问消息(在您的情况下是错误消息),因为仅使用flash
仅允许在下一个请求中访问