如何在不更改Rails视图的路径的情况下调用控制器方法

时间:2018-08-18 18:32:28

标签: ruby-on-rails

如何从无路由的视图中调用控制器方法。我只想调用一个方法,该方法可以为我提供要在同一页面上显示的数据。我不想更改路线。

视图中<%= button_to "call method", { :controller => "store", :action => "call_method"} %>

**在控制器中: def call_method #some stuff puts '<<<<<<<<<<<<<>>>>>>>>>>>' end

谢谢...

1 个答案:

答案 0 :(得分:1)

好像您在问一个错误的问题,如果没有配置正确的路由,就无法在控制器上通过表单调用方法,导致表单操作调用http请求,该请求到达rails应用并通过该应用路由路由器,如果没有将路由设置为call_method导轨,则会引发错误,指出找不到所请求网址的路由。

如果要保留在同一页面/ URL /路由上,则可以考虑将ajax与远程表单一起使用。但您仍然需要配置指向特定操作的路由。

更肮脏的解决方案是使表单动作e与您当前使用的当前页面动作相同,并添加一个参数,指定您从表单而不是通过标准导航对其进行调用,强烈建议您不要这样做,但是可能帮助您解决问题。