简体   繁体   English

response_do |格式| 在rails 5应用程序中给出“ UsersController#show中的UnknownFormat”

[英]respond_to do |format| gives “UnknownFormat in UsersController#show” in rails 5 app

In my rails 5 app I want to render partials in a div in the views/users/show.html.erb on link click. 在我的Rails 5应用程序中,我想在链接单击时在views/users/show.html.erb中的div中呈现部分。

I believe I have set things up accordingly but rails gives me this error ActionController::UnknownFormat in UsersController#show 我相信我已经进行了相应的设置,但是Rails ActionController::UnknownFormat in UsersController#show给了我这个错误ActionController::UnknownFormat in UsersController#show

ActionController::UnknownFormat

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

I'm kind of lost here, I've done similar things in rail 4 by using bootstrap tabs with out any problems. 我有点迷失在这里,我通过使用bootstrap tabs在Rail 4中完成了类似的操作,而没有任何问题。

I've also added the 'responders' gem to the gemfile 我还将'responders' gem添加到了gemfile

This is my views/users/show.html.erb 这是我的views/users/show.html.erb

<%= link_to 'Kwst', user_path%>

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

This is my users_controller.rb 这是我的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

And here is the `views/users/show_kwst.js.erb`` 这是`views / users / show_kwst.js.erb``

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

Am I missing something? 我想念什么吗?

Try to the following order, you can follow this Rails Guide About format.js 尝试按以下顺序进行操作,您可以按照此Rails Guide About format.js

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

Notice the format.js in the respond_to block; 注意format.jsrespond_to块; that allows the controller to respond to your Ajax request. 允许控制器响应您的Ajax请求。 You then have a corresponding app/views/users/show_kwst.js.erb view file that generates the actual JavaScript code that will be sent and executed on the client side. 然后,您将拥有一个相应的app/views/users/show_kwst.js.erb视图文件,该文件生成将在客户端发送和执行的实际JavaScript代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM