#ruby-on-rails #model-view-controller
#ruby-on-rails #model-view-controller
Вопрос:
В моей таблице есть столбец, который является целым числом. Я пытаюсь создать ссылку в своем приложении, которая помещает определенное целое число в этот столбец.
т.е. :
Пользователь щелкает ссылку с надписью 0 => запись в БД устанавливает запись в 0
Пользователь нажимает ссылку с надписью 1 => запись в БД устанавливает запись в 1
И т.д. . . .
В ПРЕДСТАВЛЕНИИ:
<%= link_to "0",
{:controller => "application",
:action => 'rate_app'},
:class => "rate_btn",
:method=> :put
%>
В КОНТРОЛЛЕРЕ:
def rate_app(current_user, rating)
current_user.nps_rating = rating
if current_user.save
redirect_to mypage_path
end
end
Кто-нибудь видит конфликт / путаницу в коде? Я получаю сообщение об ошибке.
Комментарии:
1. Я также не знаю, в чем вопрос. Также странно использовать контроллер приложения напрямую. Обычно вы создаете свои собственные контроллеры, специфичные для модели. Более «рельсово» использовать ресурсы restful, если это применимо.
2. Я предполагаю, что мой вопрос касается того факта, что приведенный выше код не работает. Я получил сообщение об ошибке.
3. Любой шанс, возможно, намекает на то, что сказала «ошибка»…
Ответ №1:
Если вы добавляете информацию в свою БД, это должно быть сделано через POST. Ссылки — это ПОЛУЧЕНИЕ. С учетом сказанного, я бы посоветовал взглянуть на button_to, чтобы решить эту проблему.
http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to