4

我必须启用/安装什么才能让我的 respond_to 块返回 js?

导轨 4.2.0

ruby 2.2(也尝试使用 4.0...我降级以匹配设置作为工作...)控制台返回错误:

CameraController 处理#show as HTML Completed 406 Not Acceptable in 2ms

动作控制器::未知格式(动作控制器::未知格式):

http://apidock.com/rails/Mime提到 js 是 Rails 的默认 mime 类型。我尝试将其添加到头文件中,但在控制台中返回一条消息说我不需要将它包含在头文件...我错过了什么?

#camera_controller.rb
class CameraController < ApplicationController
  # respond_to :js   #I have tried using this...
  def show
    respond_to do |format|
      format.js #{render 'show.js.erb'} #I have tried this too..
    end
  end
end

# 'home/sidebar.html.haml'
...
# =link_to "Menu Items", menu_items_index_path, :handlers => [:erb], :formats => [:js], remote:true
=link_to "Camera", camera_show_path, remote: true
...

# 'config/routes.rb'
...
get 'camera/show'
...


# camera/show.js.erb
$("#main_view").html("<%= escape_javascript(render :partial => 'camera/show')%>")   
4

1 回答 1

1

代替

=link_to "Camera", camera_show_path, remote: true

尝试使用

%a{href: "/camera/show.js", class: 'btn', 'data-remote' => true}

如果这不起作用,请在您的 camera/show.js.erb 添加

window.location="#{cameras_path}"
于 2015-01-06T07:46:51.260 回答