ruby-on-rails - respond_to 做|格式| format.js 不工作

标签 ruby-on-rails ruby actioncontroller respond-to

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

rails 4.2.0

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

由 CameraController 处理#show as HTML 2ms完成406 Not Acceptable

ActionController::UnknownFormat (ActionController::UnknownFormat):

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')%>")   

最佳答案

代替

=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}"

关于ruby-on-rails - respond_to 做|格式| format.js 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27791445/

相关文章:

sql - 表单中的必填字段现在必须设为可选,新字段成为必填字段,同时与原始字段具有可选关系

ruby-on-rails - 在后台从远程机器启动 Rails thin?

ruby-on-rails - 我在 ActionController 中遇到路由错误,直到重新启动 rails 服务器

ruby-on-rails - 在多个页面上使用相同表单的 Rails 最佳实践

ruby-on-rails - Rails ActionController 为每个 Action 执行相同的代码

sql - 在 ActiveRecord 的 WHERE 语句中使用 array_length

ruby-on-rails - Rails ActiveStorage 直接上传到本地主机

ruby - 使用 Ruby 在 outlook 中查找所有联系人

ruby-on-rails - Ruby 检查字符串回文的方法

html - 如何使用 Capybara 在 lightbox/fancybox 中查找元素