over 1 year ago

作业要求: 1. 基于 Rails101来修改成一个“电影影评网站”;2. 使用者可以建立电影 Movie ;3. 使用者可以针对电影的评论 Review ;4. 使用者必须收藏( Favorite) 该电影,才可以留下 Review 。(详见 如果你已經做了 Rails 101 到了第 4 遍,第 5 遍,請入內....)。 感谢全栈营学员 Sevenleesai分享教程!!!

最终效果:


解决思路:

1.拆解需求:

  • 主页面

此页面与 Rails101 Group 页面类似

Title = 电影名称
Description = 影评内容
Creator = 创建者

  • 下拉菜单

此页面下拉菜单与 Rails101 My Groups & My Posts 菜单类似

My Groups = 我收藏的电影
My Posts = 我发表的评论内容

  • 收藏的电影能够评论

此页面与 Rails101 群组成员 & 不是群组成员 功能类似


  • 未收藏的电影不能评论

此页面是本此作业的重点!!!


2.跟着 Rails101 手打一遍,再把上面的需求实作出来

注⚠️1:用户未收藏的电影不能评论 是本次作业的重点!(我在练习的时候已经将原教材中的 Group 更改为 Movie, Post 更改为 Review ,以下代码仅供参考!)

未收藏用户不能评论的解决办法是:在评论页面编辑按钮处添加一个判断句,判断用户是否已经收藏。

app/views/movies/show.html.erb
<% if current_user && current_user.is_member_of?(@movie) %>
    <%= link_to("添加评论", new_movie_review_path(@movie), class: "btn btn-default pull-right") %>
<% end %>

注⚠️2: app/views/movies/show.html.erb这里的 method 不能修改为 review ,否则会报错!(详见:[Bug记录07]爬过加分题的坑

总结:

这次的作业在刚看到的时候感觉并不是很难,但在做第一步拆解需求的时候就发现关键点在于收藏功能和没收藏的用户不能评论 ,在练习过程中还是挺顺利的,尝试着把教材中的 Group 改为 Movie , Post 改为 Review ,My Groups 菜单改为 我收藏的电影 菜单 , My Posts 菜单改为 我发表的评论内容 。

通过这次作业感受到了小项目迁移的整个过程,也更一步认识到 Rails101 这个小套路的重要性!后面的时间还是要把这个小套路再练习几遍,把 CRUD的概念再理解深入些!

← ORID记录3/24 ORID记录3/27 →
 
comments powered by Disqus