Rails 请问 :remote => true 的链接在用户新开标签页这种操作后出错的处理

bydmm · 2014年04月10日 · 最后由 davidqhr 回复于 2014年04月11日 · 2500 次阅读
<%= link_to some_path, :remote => true %>

这样的按钮,当用户狂点或者右键新标签页的时候会走到代码中

respond_to do |format|
  #format.html <- 就是他
  format.js
end

很多时候,类似 share, publish 之类的操作是不可能有对应的 html。 当用户访问到这里的 format.html 的就会出现 500 错误。 一般大家是怎么处理这种问题的。 我的一个思路是,当用户访问到这种位置的时候直接跳转到首页。

就 500,不处理。

访问了未定义的 format 我记得是 4xx 错误。

你现在这种情况可以换成 button_to

另外推荐指定默认的 format,此参数可以用在 namespace,resources http://guides.rubyonrails.org/routing.html#defining-defaults

500 就很好啦。按钮是让你点的,不是让你开新页面的。不按常理的用户需要给予防范,不需要给予友好处理。

把样式做成 button 的样子 😄

需要 登录 后方可回复, 如果你还没有账号请 注册新账号