0

Я читал о helper class в рельсах, но понятия не имел о его реализации. У меня есть кнопка просмотра страниц:Как вызвать метод контроллера после отправки кнопки?

<tbody> 
    <% @book.each do |book| %> 
    <tr> 
    <td colspan="3"><%= link_to 'Show page numbers', book, :class => 'btn btn-info' %></td> 
    </tr> 
</tbody> 

Цель:

  1. нажмите на кнопку и извлечь номер страницы из контроллера
  2. заменить кнопку с извлеченной page numbers

У меня есть метод, определенный в controller класс:

def fetch_page_numbers 
... 
end 

Мои вопросы:

  • Как позвонить fetch_page_numbers метод из поля зрения
  • После получения результата из базы данных Как показать номер вместо кнопок в виду
  • Как применять redirect_to в fetch_page_numbers потому, что до I никогда не перенаправлять данные на ту же страницу

Любой намек на это? Спасибо за ваше время

ответ

1
  1. Как вызвать fetch_page_numbers метод с точки зрения:

    Вы должны связать это действие для маршрута в файле routes.rb, а затем вызвать этот маршрут или сгенерированный помощник - guide

  2. После получения результата из базы данных Как показать номер вместо кнопок в виде

    Если вы хотите динамически заменить кнопку, вам нужно использовать запрос AJAX, и обрабатывать его ответ в JavaScript - совершенно другой объект, попробуйте this

  3. Как применять redirect_to в fetch_page_numbers, потому что, пока я не перенаправить данные на эту же страницу

    Вы не можете использовать рельсы redirect_to с AJAX, что вы можете сделать, например, включите в свой ответ код redirect_path, а затем переадресуйте его через javascript. Но я думаю, что вы Мента что-то вроде render json: {..data..}

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

Всегда старайтесь разделить вашу проблему на мельчайшие детали. Попробуйте следовать идее MVP (минимальный жизнеспособный продукт) - создайте что-то легкое, но работайте, а затем добавьте небольшие функции.

Если вы это сделаете, на все ваши текущие вопросы ответят рельсы guides. Удачи!

+0

Очень аккуратное объяснение. – potashin

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