这可能真的很简单,但我有一个嵌套资源可以说:
地图。资源 :book, :has_many => :pages
我编写了一个名为“turn”的动作,它将 page.count 增加 1。如何使用 link_to 调用此动作?提前非常感谢。
这可能真的很简单,但我有一个嵌套资源可以说:
地图。资源 :book, :has_many => :pages
我编写了一个名为“turn”的动作,它将 page.count 增加 1。如何使用 link_to 调用此动作?提前非常感谢。
很难说出你的page.count
来源。在 Railish 中,你会找到pages.count
(注意“s”)。此外,count
(and also size
) 是数组和哈希等的只读属性。由 ruby 提供,它返回元素的数量。你不设置count
。
接下来,我不确定您的turn
操作应该放在哪里,是在书上还是在页面上?在它完成它所做的事情之后应该发生什么?最后,路由使动作成为动作——没有它,它只是一个函数。
暂时,我们假设您正在尝试存储一本书中的页面被访问的次数。在您的 Page 模型中拥有一个名为reads
or的实例变量会是一个更好的主意。times_viewed
假设您的 Book 模型使用的是 restful 路由,在 Book 的show
操作中,您创建正在查看的 Page 模型的实例变量并reads
在呈现视图之前增加其属性。
如果您尝试在 Facebook 中创建类似“Like”的链接,这意味着您想要更新表中的记录而不将用户发送到不同的页面,您需要使用link_to_remote
* 和一些 javascript。在这种情况下,我只想让您参考有关该主题的 Railscasts。
*我认为从 Rails 3 开始,link_to_remote
就变成link_to
了:remote => true
.