Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在视图中使用辅助方法_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 在视图中使用辅助方法

Ruby on rails 在视图中使用辅助方法,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我在理解如何在视图中使用helper方法时遇到了一些困难。例如,以代码的以下部分为例: Mycontrollers_helper.rb module MycontrollersHelper def destroy_everything Model.destroy_all redirect_to root_path end end 那么在视图中应该如何使用它呢?假设将方法添加到视图中的按钮: <%= button_to 'Destroy all'

我在理解如何在视图中使用helper方法时遇到了一些困难。例如,以代码的以下部分为例:

Mycontrollers_helper.rb

module MycontrollersHelper
    def destroy_everything
      Model.destroy_all 
      redirect_to root_path
    end
end
那么在视图中应该如何使用它呢?假设将方法添加到视图中的按钮:

<%= button_to 'Destroy all', destroy_everything, method => :post %>

仅仅在helper.rb文件中写入一个方法就足够了,还是需要在它所引用的控制器中添加一些行?这是这样的语法吗?

rails中的Helpers实际上是查看Helpers。因此,它们旨在为呈现您的视图提供一些帮助


如果要删除某些内容,然后重定向到某个操作,只需使用控制器操作即可。

我认为您正在学习有关视图帮助器的内容,您希望从视图模板中调用它

可以使用方法的名称调用视图帮助器

如果控制器中包含此助手,则调用destroy_一切都将正常工作

更新:
如果您在应用程序帮助程序中编写帮助程序方法,则不必担心加载/包含帮助程序。

您误解了帮助程序的概念。这一切都应该是控制器的行为。如果你能提供一些好的来源来解释这一点,我将非常感激,只是找不到任何好的东西来阅读。你看到了吗?我看到了,但我只找到了表单帮助器之类的信息,我认为我需要helper方法从我的视图中调用其他方法。老实说,我建议您从一些Rails教程开始,因为视图、控制器和路由是非常基本的事情。