抱歉,我有一个 Rails 新手问题。在我的 Rails 应用程序中,如何从视图中调用控制器中定义的方法?例如,假设我编写了一个检索股票信息的自定义方法。在我看来,我希望有一个常规的 HTML 按钮,单击该按钮将调用我的自定义方法并填充库存结果。
这是怎么做的?我环顾四周,找不到直接的方法来做到这一点。但我确定我在这里遗漏了一些东西。
抱歉,我有一个 Rails 新手问题。在我的 Rails 应用程序中,如何从视图中调用控制器中定义的方法?例如,假设我编写了一个检索股票信息的自定义方法。在我看来,我希望有一个常规的 HTML 按钮,单击该按钮将调用我的自定义方法并填充库存结果。
这是怎么做的?我环顾四周,找不到直接的方法来做到这一点。但我确定我在这里遗漏了一些东西。
编辑:我用它的标题来回答这个问题,这不是问题所在。您问题标题的答案在底部
您想要的是一个 ajax 请求,它是一个单独的控制器操作。你需要:
javascript 在单击按钮时请求路由并填充其 DOM 对象
返回 ajax 请求所要求的任何操作的操作
有很多方法可以做到这一点,但是如果您搜索“howto rails ajax”,您会发现大量教程可以帮助您。我喜欢的一种方式称为 pjax:https ://github.com/rails/pjax_rails
老答案...
声明一个helper_method
,像这样:
在您的控制器中:
private
def find_stock
...
end
helper_method :find_stock
在您看来:
<% find_stock.each do |stock| -%>
您可以查看button_to
查看帮助程序的文档
这是一种方式,当然,您可以使用远程选项通过 AJAX 请求执行此操作。