Rails response_to抛出ActionController :: UnknownFormat

问题描述 投票:1回答:1

所以,我试图用js文件来响应动作。

  def my_schedule
    respond_to do |format|
      format.js
    end
  end

[在我看来,我有'my_schedule.js.erb',但它甚至没有执行,rails闯入了控制器,并向我抛出了一个错误:ActionController :: UnknownFormat,我在其中有response_to。

我尝试添加

respond_to :js, :json, :html

在我的控制器开始时没有采取任何措施,但仍然无法正常工作。需要帮助来调试它,并了解response_to的实际工作方式。

javascript ruby-on-rails
1个回答
0
投票

format.js仅响应xhr请求。您不能仅通过导航到指向该控制器和方法的路由来触发此响应。

您可以通过将response_to块更改为js.erb执行来测试执行

def my_schedule
  respond_to do |format|
    format.html
    format.js
  end
end

然后在与js.erb相同的视图文件夹中创建一个my_schedule.html.erb文件,其内容如下:>

<%= link_to 'Test', my_schedule_path, data: { remote: true } %>

请注意,您可能需要调整该路径,我只是在猜测。

然后导航到您之前尝试过的相同路径。您应该看到一个链接,单击该链接将触发js响应。

© www.soinside.com 2019 - 2024. All rights reserved.