Rails 5:触发控制器方法的按钮

时间:2018-01-09 15:45:57

标签: ruby-on-rails

我使用Rails 5和MySQL。

我有一个Imagecapturing页面,想按下按钮,在我的Imagecapturing控制器中触发一个方法调用。我的尝试:

# imagecapturing index view:
<%= button_to "St. Gallen", action: "digitized_in_stgallen" %>


# imagecapturings_controller.rb
  def digitized_in_stgallen
    @imagecapturings = Imagecapturing.all.where("digitalisiert_in = 'St. Gallen'")
  end

#config/routes.rb
Rails.application.routes.draw do
  resources :imagecapturings
end

但我得到了

  

没有路线匹配{:action =&gt;&#34; digitized_in_stgallen&#34;,:controller =&gt;&#34; imagecapturings&#34;}

如何点击按钮触发&#34; digitized_in_stgallen&#34;控制器方法?

1 个答案:

答案 0 :(得分:2)

您需要查看路线文件。

快速解决方法是使用以下命令更新您的路线文件:

resources :imagecapturings  do
  collection do
    get :digitized_in_stgallen 
  end
 end

我真的建议您在此处Rails Routing Guide快速查看导航指南。从长远来看,您可能会发现使用路径更容易维护,而不是声明控制器操作。