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

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

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

2 ответов


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

то, что вы хотите, это запрос 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


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

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