新手问题 关于 respond_to format 的问题

zhaoguobin · 2013年09月24日 · 最后由 zhaoguobin 回复于 2013年09月24日 · 2373 次阅读

Rails 3.0.9


# controller
respond_to :html, :js

def action_name

end

# view
action_name.js.erb

我记得以前写代码的时候不需要指定 format,直接访问 action_name_url,如果 view 中既有 action_name.html.erb,又有 action_name.js.erb,好像会返回 http status 300,就是说有多种返回格式,不知道选哪一个返回;如果 view 中只有 action_name.js.erb,就会直接返回 action_name.js.erb。

最近不知道修改了什么地方,如果 view 中只有 action_name.js.erb,如果不显式指定 action_name_url 的 format 为 js 的话,就会返回 template missing 错误。ajax 也同时出了错误,即使指定 dataType 是 script,仍然返回了 html,必须将 ajax 的 url 改成 url.js 才行。

问题出在哪里?请大家指点迷津!!!

顶起,大家别只顾着抢楼啊!

:remote => true

#3 楼 @miclle 谢谢回复。ajax 不就是 :remote => true 吗?

去掉 respond_to :html, :js 看看。

#5 楼 @Rei thanks。仍然提示 missing template

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