respond_to 做|格式化|在 rails 5 个应用程序中给出 "UnknownFormat in UsersController#show"

respond_to do |format| gives "UnknownFormat in UsersController#show" in rails 5 app

在我的 rails 5 应用程序中,我想在 link 单击 views/users/show.html.erb 中的 div 中呈现部分。

我相信我已经进行了相应的设置,但是 rails 给我这个错误 ActionController::UnknownFormat in UsersController#show

ActionController::UnknownFormat

respond_to do |format|
    format.js { render :show_kwst }
end

我有点迷路了,我在 rail 4 中使用 bootstrap tabs 做了类似的事情,没有任何问题。

我还添加了 'responders' gemgemfile

这是我的views/users/show.html.erb

<%= link_to 'Kwst', user_path%>

<div id="content"></div>

这是我的users_controller.rb

 class UsersController < ApplicationController

  def show
    @user = User.find(params[:id])

    @user_posts = @user.posts
    @user_kwsts = @user.kwsts


    respond_to do |format|
        format.js { render :show_kwst }
    end

  end

end

这里是`views/users/show_kwst.js.erb``

$("#content").html("<%=escape_javascript(render :partial=>"shared/show_kwst")%>");

我错过了什么吗?

试试下面的顺序,可以按照这个Rails Guide About format.js

respond_to do |format|
   format.html { @user_kwsts }
   format.js
end

注意respond_to块中的format.js;允许控制器响应您的 Ajax 请求。然后,您有一个相应的 app/views/users/show_kwst.js.erb 视图文件,该文件生成将在客户端发送和执行的实际 JavaScript 代码。