Я новичок в программировании.
Я создал скаффолд Ideas.Модель имеет поля: Описание (строка), Upvotes (целое число), Downvotes (целое число).
Все обычные действия в файле ideas_controller.rb - Индекс, Показать, Новый, Редактировать, Создать, Обновить, Уничтожить.
Вместо того, чтобы рассказать вам, как я пытался сделать следующее, я просто спрошу:
Как добавить ссылку «+1» рядом с «Показать», 'Edit', 'Destroy' ссылки, которые при нажатии увеличивают значение Upvotes на 1 для этой идеи?
Заранее спасибо.
EDIT (С помощью "Skydreamer" яразобрался!)
Я настраиваю route.rb на:
resources :ideas do
member do
get 'upvote'
end
end
Я добавляю следующее к идеям index.html.erb:
<td><%= link_to '+1', upvote_idea_path(idea) %></td>
Примечание: если вы не включите (идея) , вы получите ошибку, подобную этой:
Нет совпадений маршрута {: action => "upvote",: controller => "ideas"}
Я добавляю в ideas_controller.rb следующее:
def upvote
@idea = Idea.find (params[:id])
@idea.upvotes = @idea.upvotes + 1
@idea.save
redirect_to(ideas_url)
end