【问题标题】:Create a list of recently added movies创建最近添加的电影列表
【发布时间】:2015-10-09 11:06:36
【问题描述】:

在我的应用程序上,用户可以在搜索字段中输入电影标题,应用程序会显示与查询对应的所有电影的结果,然后用户可以单击“添加电影”按钮并将该电影添加到他们的首页。

对于我的下一个功能,我正在尝试创建一个最近添加的电影列表。为此,我创建了一个名为“建议”的新模板。

我最初的想法是在我的新建议模板中使用以下代码,

.movie_container{"ng-repeat" => "movie in movies | orderBy:'id':true"}

这确实以正确的顺序显示最近添加的电影,但它只显示用户添加的电影,而不是所有用户添加的所有电影的一般列表。

因此,如果用户 1 添加了电影,用户 2 不会在建议模板中看到它。这是因为我在我的电影表中添加了一个列“user_id”,这样当用户添加电影时,它只会显示在他的概览中。这与我想要的功能相反。

解决这个问题的好方法是什么?是否可以使用 AngularJS 来检索电影模型中的所有电影,还是我必须更改我的 rails 配置中的某些内容?

【问题讨论】:

    标签: ruby-on-rails angularjs


    【解决方案1】:

    我想您已经处理了持久化添加的电影。 可能您只需要查看填充“最近添加的电影”列表的记录。

    可能是变化

    @user.movies
    

    Movie.all
    

    应该没问题

    【讨论】:

    • 我想你误会了我,我想要 2 个功能。一项功能仅显示用户添加的电影,一项功能显示所有添加的电影。如果我改变我的 Rails 控制器,它就会到处显示所有电影。对吗?
    • 这取决于哪个变量填充了您在 ng-repeat 语句中使用的电影变量。您可以使用两个单独的变量,一个用于添加的所有电影,另一个用于用户创建的电影。
    • 这就是问题所在。我使用相同的方法来填充这两个功能,这就是问题所在。我不认为为这个特性创建另一个 Rails 控制器是正确的方法。顺便说一句,我在我的 movies_controller.rb 中使用respond_with current_user.movies
    • 你是对的,它可能不是。我的意思是您可能会使用所有电影的列表,并通过当前登录用户的用户 ID 过滤用户创建的列表。否则你可能需要做两个请求。
    • 我在想同样的事情来过滤掉所有没有相同 user_id 的电影。去看看我能不能找到一些相关的信息。
    猜你喜欢
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    相关资源
    最近更新 更多