Javascript 从HTML按钮调用Ruby函数而不转到新页面

Javascript 从HTML按钮调用Ruby函数而不转到新页面,javascript,html,ruby-on-rails,ruby,Javascript,Html,Ruby On Rails,Ruby,一般来说,我对Ruby和web开发是新手。 我有许多按钮,我想做相同的功能,但不同的参数。 然而,为了测试它,我只想在我的控制器中调用一个非常简单的函数(称为gallery\u matches\u controller.rb) 在index.html.erb中: <%= button_to "Confirm", gallery_matches_path, action: "pleaseWork"%> 在gallery_中匹配_controller.rb def pleaseWork

一般来说,我对Ruby和web开发是新手。 我有许多按钮,我想做相同的功能,但不同的参数。 然而,为了测试它,我只想在我的控制器中调用一个非常简单的函数(称为gallery\u matches\u controller.rb)

在index.html.erb中:

<%= button_to "Confirm", gallery_matches_path, action: "pleaseWork"%>
在gallery_中匹配_controller.rb

def pleaseWork
  puts "hello"
end
我收到以下错误:ActionView::MissingTemplate 我想我得到它是因为我的routes.rb线路出了问题,但我无法理解。我试着效仿人们的榜样,但似乎没有一个奏效。

而不是

puts "hello"
试一试

错误消息表示缺少模板,因为如果您不告诉Rails输出其他内容,Rails会自动尝试呈现(输出)与控制器和操作名相同的模板

因此,在本例中,它希望自动呈现一个模板,如
gallery\u matches/plesework.html.erb
。如果您显式地告诉它呈现一些文本,它将这样做,而不是寻找模板

另一方面,
请工作
请工作
更为传统。Rails对命名做了一些假设(“约定优于配置”),因此如果不遵循标准命名,您可能会遇到问题

而且,我不认为

<%= button_to "Confirm", gallery_matches_path, action: "pleaseWork"%>

将路由到预期的控制器。你可以

<%= button_to "Confirm", controller: "gallery_matches", action: "pleaseWork"%>

相反

<%= button_to "Confirm", gallery_matches_path, action: "pleaseWork"%>
<%= button_to "Confirm", controller: "gallery_matches", action: "pleaseWork"%>