11

抱歉,我有一个 Rails 新手问题。在我的 Rails 应用程序中,如何从视图中调用控制器中定义的方法?例如,假设我编写了一个检索股票信息的自定义方法。在我看来,我希望有一个常规的 HTML 按钮,单击该按钮将调用我的自定义方法并填充库存结果。

这是怎么做的?我环顾四周,找不到直接的方法来做到这一点。但我确定我在这里遗漏了一些东西。

4

2 回答 2

21

编辑:我用它的标题来回答这个问题,这不是问题所在。您问题标题的答案在底部

您想要的是一个 ajax 请求,它是一个单独的控制器操作。你需要:

  1. javascript 在单击按钮时请求路由并填充其 DOM 对象

  2. 返回 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| -%>

文档:http ://api.rubyonrails.org/classes/AbstractController/Helpers/ClassMethods.html#method-i-helper_method

于 2012-05-23T05:53:55.817 回答
1

您可以查看button_to查看帮助程序的文档

这是一种方式,当然,您可以使用远程选项通过 AJAX 请求执行此操作。

于 2012-05-23T05:49:25.327 回答