2015-08-14 7 views
-1

У меня возникли проблемы с пониманием того, как методы-помощники должны использоваться в представлениях. Например, воспользуйтесь этими частями кода:Использование вспомогательных методов во взглядах

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 достаточно или не требует некоторых дополнительных линий в контроллере она ссылается? Это даже правильный синтаксис для чего-то подобного?

+2

Вы неправильно понимаете концепции помощников. Это 'destroy_everything' должно быть действием контроллера. –

+0

Если вы можете предоставить хороший источник, который объяснит это немного, я был бы очень благодарен, просто не могу найти ничего хорошего, чтобы читать об этом. – lmatejic

+2

Вы видели http://guides.rubyonrails.org? –

ответ

3

Помощники в рельсах на самом деле видят помощников. Таким образом, они призваны оказать некоторую помощь для просмотра ваших взглядов.

Если вы хотите что-то удалить, а затем перенаправить на какое-либо действие, просто используйте для этого действие контроллера.

-1

Я думаю, что вы берете помощника вида, который вы хотите вызвать из своего шаблона.

Вы можете позвонить своему помощнику вида с именем метода.

Вызов destroy_everything будет работать нормально, если этот помощник включен в ваш контроллер.

Update: Если вы пишете свой вспомогательный метод в помощнике приложения, то вам не нужно беспокоиться о загрузке/включить помощник.

Смежные вопросы