Ruby on rails 当它';远程ajax调用了什么?
现在,此控制器中的此操作由远程ajax调用调用。Ruby on rails 当它';远程ajax调用了什么?,ruby-on-rails,ajax,ruby-on-rails-3,Ruby On Rails,Ajax,Ruby On Rails 3,现在,此控制器中的此操作由远程ajax调用调用。 仅当选中复选框[:call]并提交时, 我想用flash消息重定向到……\u路径 可能吗?如果可能,怎么做 控制器 ..... if params[:comment][:call] == "1" flash[:notice] = "you checked and submit!" redirect_to ....._path else ajax page reload end 查看表单(使用ajax远程) 不,这是不可能
仅当选中复选框[:call]并提交时,
我想用flash消息重定向到……\u路径 可能吗?如果可能,怎么做 控制器
.....
if params[:comment][:call] == "1"
flash[:notice] = "you checked and submit!"
redirect_to ....._path
else
ajax page reload
end
查看表单(使用ajax远程)
不,这是不可能的 您必须呈现将更改窗口位置的javascript:
window.location.href = 'http://your new location';
当然,在js视图中,您可以使用以下方式为url使用动态值:
window.location.href = '<%= @a_controller_variable %>';
window.location.href='';
您必须用js而不是controller编写此代码
在控制器中:
def action_name
....
respond_to do |format|
format.js
end
end
制作一个action_name.js.erb文件并编写以下代码:
<% if params[:comment][:call] == "1" %>
<% flash[:notice] = "you checked and submit!" %>
window.location.href = <%= some_url %>
<% else %>
$("#some_div_id").html("something") //ajax page reload
<% end %>
window.location.href=
$(“#some_div_id”).html(“something”)//重新加载ajax页面
希望这对您有用。非常感谢。这是我想要的完美答案:)
def action_name
....
respond_to do |format|
format.js
end
end
<% if params[:comment][:call] == "1" %>
<% flash[:notice] = "you checked and submit!" %>
window.location.href = <%= some_url %>
<% else %>
$("#some_div_id").html("something") //ajax page reload
<% end %>