我发现了教材的一个小bug

Published on:

一:当我点击进入右上角下拉菜单中的My Post页面后,点击右边的editdelete按钮,网页居然报错了,这不是很奇怪吗?(PS:有同学提醒:这是一道额外的练习,我去搜索,果然发现这是一道练习,哎,还是要只字不差的阅读啊。)

最后一张是上传到heroku之后的错误画面。

原因是app/controllers/posts_controller.rb中少了editupdatedestroy这三个method:

解决方法:

  • 新建editupdatedestroy这三个method

  • 新建一个edit.html.erb(其实就是把new.html.erb稍微改一下)

touch app/views/posts/edit.html.erb

app/views/posts/edit.html.erb
<h2 class="text-center">编辑文章</h2>
<div class="col-md-4 col-md-offset-4">
    <%= simple_form_for [@group,@post] do |f| %>
      <div class="form-group">
          <%= f.input :content, input_html: { class: "form-control"}%>
      </div>
      <div class="form-actions">
          <%= f.submit "Submit", disable_with: "Submiting...", class: "btn btn-primary" %>
      </div>
    <% end %>
</div>

PS:不过,我后来考虑到在My Post页面直接修改和删除post,最后返回post页面,这样有点奇怪,因为我后面又在post页面也加了delete和delete按钮,这两个有点冲突,为了一致性,让group和post页面均有edit和delete按钮,让My Group和My Post页面只能查看,这样功能性比较一致。


二:当我进入一个group页面浏览post的时候,右侧居然没有editdelete按钮,这不是更奇怪吗?

解决方法:模仿教程,在app/views/groups/show.html.erb中,加入editdelete这两个按钮:

本来还需要修改posts_controller.rb,上面一个bug已经解决了,这里就不需要改动了。


三:最后一个问题是当我在post页面点击Quit Group之后,再点击Write a Post,居然也能成功新增一个post,这不是很诡异吗?

Write a Post换个位置,换到判断是否是群组成员之后。

Comments

comments powered by Disqus