Сложно сказать, куда входит ваш page.count
. В Railish вы найдете pages.count
(обратите внимание на 's'). Кроме того, count
(а также size
) является атрибутом только для чтения для массивов и хэшей и т. Д. предоставляется ruby, который возвращает количество элементов. Вы не установили count
.
Далее, я не уверен, где ваше действие turn
должно жить, на Книге или на Странице? И что должно произойти после того, как оно делает то, что делает? Наконец, маршрут - это то, что делает действие действием - без него это просто функция.
На мгновение мы предположим, что вы пытаетесь сохранить количество посещений страницы в книге. Было бы лучше иметь переменную экземпляра с именем reads
или times_viewed
и т. Д. В вашей модели страницы. Предполагая, что ваша модель Book использует маршрутизацию покоя, в действии Book show
вы создаете переменную экземпляра просматриваемой модели страницы и увеличиваете ее атрибут reads
перед рендерингом представления.
Если вы пытаетесь создать ссылку, похожую на функцию «Мне нравится» в Facebook, то есть вы хотите обновить запись в таблице, не отправляя пользователя на другую страницу, вам нужно будет использовать link_to_remote
* и немного JavaScript. В этом случае я бы просто отослал вас к Railscasts по этому вопросу.
* Я думаю, что с Rails 3 link_to_remote
стало просто link_to
с :remote => true
.