Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails显示推荐-Facebook/Linkedin风格_Javascript_Ruby On Rails_Ruby_Web Applications_User Interface - Fatal编程技术网

Javascript Rails显示推荐-Facebook/Linkedin风格

Javascript Rails显示推荐-Facebook/Linkedin风格,javascript,ruby-on-rails,ruby,web-applications,user-interface,Javascript,Ruby On Rails,Ruby,Web Applications,User Interface,我正在编写一个Rails 3.2.1应用程序,我希望通过以下方式向用户显示建议的项目: 目前,我有一系列建议项目,我想一次显示5条建议。我希望用户能够 单击项目以链接到某个内容 单击关闭按钮(和“X”)以 如果用户通过单击关闭按钮拒绝推荐,我们将显示 在显示的5条建议列表的同一位置显示另一条建议。因此,新的建议取代了被拒绝的建议 我怎么做有什么想法吗?我曾尝试在网上搜索,但似乎找不到有用的方向。任何帮助都将不胜感激 您可以将用户的决策“存储”在会话/cookie/数据库中,具体取决于您希望决策的

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

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

  • 单击项目以链接到某个内容
  • 单击关闭按钮(和“X”)以
  • 如果用户通过单击关闭按钮拒绝推荐,我们将显示
  • 在显示的5条建议列表的同一位置显示另一条建议。因此,新的建议取代了被拒绝的建议


    我怎么做有什么想法吗?我曾尝试在网上搜索,但似乎找不到有用的方向。任何帮助都将不胜感激

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

    例如

    (假设用户和建议之间存在m-to-n关系,称为拒绝的建议)

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

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

    或者: 加载更多的建议(多于5条),只使用JS淡出并将新建议滑入视图——当所有建议都被拒绝时,只需显示类似这样的内容:“很抱歉,目前没有给您的建议。”

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