respond_to do | format |在rails 5 app中给出了“UsersController#show中的UnknownFormat”

时间:2018-04-02 11:09:15

标签: javascript jquery ruby-on-rails ruby respond-to

在我的rails 5应用中,我想在链接点击的div中的views/users/show.html.erb中呈现部分内容。

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

ActionController::UnknownFormat

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

我有点迷失在这里,我在轨道4中做了类似的事情,使用bootstrap tabs解决了任何问题。

我还将'responders' gem添加到gemfile

这是我的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")%>");

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

尝试按以下顺序操作,您可以按照此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代码。