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 才行。
问题出在哪里?请大家指点迷津!!!