Ruby on Rails - метод управления вызовом из представления

Извините, у меня есть вопрос новичков Rails. В моем приложении Rails, как я могу вызвать метод, определенный в моем контроллере из представления? Например, скажем, я написал собственный метод, который извлекает информацию о запасах. На мой взгляд, я хочу иметь обычную кнопку HTML, которая после нажатия вызовет мой собственный метод и заполнит результаты акции.

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

Ответ 1

Изменить: я взял вопрос по его названию, и это был не тот вопрос. Ответ на заголовок вашего вопроса внизу

То, что вы хотите, - это запрос ajax, который является отдельным действием контроллера. Вам понадобится:

  • javascript для запроса маршрута и заполнения его объекта DOM при нажатии кнопки

  • действие, возвращающее все запросы ajax, запрашивающие

Существует много способов сделать это, но если вы ищете "howto rails ajax", вы найдете учебники gazillion, которые помогут вам на вашем пути. Один из способов, который мне нравится, называется 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

Ответ 2

Вы можете проверить документацию button_to помощник просмотра

Это один из способов, конечно, вы можете использовать удаленный вариант для этого с помощью запроса AJAX.