0

我正在编写一个Rails 3.2.1应用程序,我想通过以下方式向用户显示建议的项目:

目前,我有一系列建议的项目,我想一次显示 5 个建议。我希望用户能够

  1. 单击该项目以链接到某物。
  2. 点击关闭按钮(和“X”)
  3. 如果用户通过单击关闭按钮拒绝推荐,我们将显示

显示的 5 个建议列表中同一位置的另一个建议。因此,新的建议取代了被拒绝的建议。

关于我该怎么做的任何想法?我曾尝试在网上搜索,但似乎找不到有用的方向。任何帮助将非常感激!

4

1 回答 1

0

好吧,您可以将用户的决定“存储”在会话/cookie/数据库中,具体取决于您希望该决定的持久性。在用户拒绝建议后,您可以重新加载建议并考虑该决定。

例如

Suggestions.where(["id NOT IN (?)", User.rejected_suggestions])

(假设您在 User 和 Suggestions 之间存在 m 对 n 关系,称为 denied_suggestions)

它的显示方式只是javascript。例如,您可以使用 jQuery 并将被拒绝的建议隐藏起来,然后让新的建议滑入。

http://api.jquery.com/fadeOut/

http://api.jquery.com/slideDown/

对于重新加载和存储决策,只需使用 ajax 调用。

或者: 加载更多建议(多于 5 个),仅使用 JS 将它们淡出并将新建议滑入视图 - 当所有建议都被拒绝时,只需显示如下内容:'我们很抱歉,没有给你的建议眼下。'

于 2013-07-18T14:08:02.590 回答