保存一个切换的星

时间:2014-05-09 16:29:56

标签: jquery ruby-on-rails stateful

显示用户可以在类似于gmail中的“标记重要”星标的网页上点击/关闭的星形有什么好方法?此外,类似于stackoverflow中的星号(在这里到你的左边!)

我正在使用jQuery和rails。

前端问题: 在jQuery中维护这个的好方法是什么? 也许有一个重要的标记,然后可能添加一个点击监听器? 我还需要记住状态,然后突出显示明星。

服务器端问题: 我的另一个问题是关于路由。当用户点击它时,它将POST到服务器。

它应该有两条路线吗?

POST ./email/mark_important
POST ./email/unmark_important

或者它应该有一条路线吗?

POST ./email/toggle_importance

我专注于清洁代码&可维护性。谢谢!

1 个答案:

答案 0 :(得分:1)

对于客户端,我在css类上使用切换(例如"选中"和"未选中")。切换发生后,我从元素中读取生成的CSS,并使用on / off参数(原始布尔值)调用唯一的服务器端方法来保存状态。

这样,即使用户在图像上点击了很多时间(并且非常快),您也总是向服务器发送正确的值。最后一次电话会让事情变得正确。