如何从无路由的视图中调用控制器方法。我只想调用一个方法,该方法可以为我提供要在同一页面上显示的数据。我不想更改路线。
视图中:
<%= button_to "call method", { :controller => "store", :action => "call_method"} %>
**在控制器中:
def call_method
#some stuff
puts '<<<<<<<<<<<<<>>>>>>>>>>>'
end
谢谢...
答案 0 :(得分:1)
好像您在问一个错误的问题,如果没有配置正确的路由,就无法在控制器上通过表单调用方法,导致表单操作调用http请求,该请求到达rails应用并通过该应用路由路由器,如果没有将路由设置为call_method
导轨,则会引发错误,指出找不到所请求网址的路由。
如果要保留在同一页面/ URL /路由上,则可以考虑将ajax与远程表单一起使用。但您仍然需要配置指向特定操作的路由。
更肮脏的解决方案是使表单动作e与您当前使用的当前页面动作相同,并添加一个参数,指定您从表单而不是通过标准导航对其进行调用,强烈建议您不要这样做,但是可能帮助您解决问题。