2

这可能真的很简单,但我有一个嵌套资源可以说:

地图。资源 :book, :has_many => :pages

我编写了一个名为“turn”的动作,它将 page.count 增加 1。如何使用 link_to 调用此动作?提前非常感谢。

4

1 回答 1

0

很难说出你的page.count来源。在 Railish 中,你会找到pages.count(注意“s”)。此外,count(and also size) 是数组和哈希等的只读属性。由 ruby​​ 提供,它返回元素的数量。你不设置count

接下来,我不确定您的turn操作应该放在哪里,是在书上还是在页面上?在它完成它所做的事情之后应该发生什么?最后,路由使动作成为动作——没有它,它只是一个函数。

暂时,我们假设您正在尝试存储一本书中的页面被访问的次数。在您的 Page 模型中拥有一个名为readsor的实例变量会是一个更好的主意。times_viewed假设您的 Book 模型使用的是 restful 路由,在 Book 的show操作中,您创建正在查看的 Page 模型的实例变量并reads在呈现视图之前增加其属性。

如果您尝试在 Facebook 中创建类似“Like”的链接,这意味着您想要更新表中的记录而不将用户发送到不同的页面,您需要使用link_to_remote* 和一些 javascript。在这种情况下,我只想让您参考有关该主题的 Railscasts。

*我认为从 Rails 3 开始,link_to_remote就变成link_to:remote => true.

于 2011-12-04T21:09:38.253 回答