刘华佼的全栈学习记录

typos

| Comments

从教程倒着往上看排查错误发现是

config/routes.rb
  namespace :account do
    resources :groups
  end

里的resources写掉了s,更改后仍报错,发现是更改后忘记了保存.

  • 教程上让删除的行,没有删 Rails 第三课:Rails 101 9-2 系统内建 Helper “simple_format”的使用
    -     <td><%= group.description %></td>
    
  • &lt;td&gt;&lt;%= simple_format(group.description) %&gt;&lt;/td&gt;
    



  • 忘记删除<td><%= group.description %></td>这行,结果出现了两列description。
  • 漏删了splite导致heroku上传失败

Rails 第三课:Rails 101 10-2 上传到 Heroku 指南
课程说明:

修改 Gemfile 文件
把 sqlite3 从第7行搬到约第30到40行的group :development, :test do
我看了下第7.8行都是空行,以为以前已经删掉了,没往下看。继续按照教程操作,发现heroku run rake db:migrate这一步报错了。又倒着看教程,没有漏操作。后来登陆heroku网站看到提示失败信息里有splite3字样,于是返回Gemfile中仔细查看,发现gem splite3在第10行还有一个,删掉,重新按教程步骤操作,成功。

  • Group打成了Goup

Rails 第三课:Rails 102 3-1 建立讨论群的架构
class GroupsController里的
@groups = Group.all
打成了:
@groups = Goup.all.
以致打开网页报错
uninitialized constant GroupsController::Goup

  • area打成了aarea

Rails 第三课:Rails 102 4-2 实作讨论群“新增”功能

app/views/groups/new.html.erb里的:
<%= f.text_area :description %>
打成了<%= f.text_aarea :description %>
导致打开网页http://localhost:3000/groups/new报错
undefined methodtext_aarea' for #ActionView::Helpers::FormBuilder:0x007fba76080e48
Did you mean? text_area`

  • groups_path打成了group_path

Rails 第三课:Rails 102 4-2 实作讨论群“新增”功能

app/controllers/groups_controller.rb里的
redirect_to groups_path
打成了redirect_to group_path
导致打开网页http://localhost:3000/groups:报错
No route matches {:action=>"show", :controller=>"groups"} missing required keys: [:id]

  • def update漏掉了end

Rails 第三课:Rails 102 4-4 实作讨论群“编辑”功能

app/controller/groups_controller.rb里的
def update
漏了end
导致打开网页http://localhost:3000/groups:报错
……/rails102/app/controllers/groups_controller.rb:37: syntax error, unexpected end-of-input, expecting keyword_end

  • </ul>写成了</ur>

  • groups_path打成了group_path

Rails 第三课:Rails 102 4-6 限制“标题为空”的Group,不能被新增
第二次把 redirect_to groups_path写成redirect_to group_path

  • simple_form_for弄成了form_for

Rails 第三课:Rails 102 4-8 将表单换为 Bootstrap 提供的版型
app/views/groups/form.html.erb
第一行要改成<%= simple_form_for @group do |f| %>却以为是一样的没有改,原来是`<%= form
for @group do |f| %>`,导致打开网页http://localhost:3000/groups/new 报错说input没有定义。

  • 手动输入漏了<% end %>

Rails 第三课:Rails 102 5-3 让这个网站有实际“登录”、“退出”的功能
修改 app/views/common/_navbar.html.erb,手动逐字输入漏掉了<% end %>,打开http://localhost:3000/报错。

  • psots 写成了psots

Rails 第三课:Rails 102 6-3 实际发表文章
修改 app/controllers/groups_controller.rb,手动逐字输入@psots = @group.posts,打开http://localhost:3000/groups/15报错:
undefined method each' for nil:NilClass
指向
<%= @posts.each do |post| %>
倒着看教程发现
@psots = @group.posts`里的posts打成了psots。可能是因为生活上的事情,没有集中精力造成输入错误。

  • PostsController 写成了PostController

Rails 第三课:Rails 102 6-3 实际发表文章
修改 app/controllers/posts_controller.rb,手动逐字输入class PostController < ApplicationController,打开http://localhost:3000/groups/15/posts/new报错:
Unable to autoload constant PostsController, expected .../rails102/app/controllers/posts_controller.rb to define it
倒着看教程发现class PostsController < ApplicationController里的posts打成了post。可能是因为生活上的事情,没有集中精力造成输入错误。

  • 复制后修改漏删了<% end %>

Rails 第三课:Rails 102 9-4 partial 还可以这样用
将app/views/groups/index.html.erb的部分内容剪切粘贴到app/views/groups/_group_item.html.erb,打开http://localhost:3000/groups报错。
错误提示与<% end %>相关。
倒着看教程发现粘贴的部分:

<% @groups.each do |group| %>
        <tr>
          <td>###</td>
          <td><%= link_to(group.title, group_path(group)) %></td>
          <td><%= render_group_description %></td>
          <td><%= group.user.email %></td>
          <td>
          <% if current_user && current_user == group.user %>
            <%= link_to("Edit", edit_group_path(group), class: "btn btn-sm btn-default")%>
            <%= link_to("Delete", group_path(group),    class: "btn btn-sm btn-default",
                        method: :delete, data: { confirm: "你真的要删除吗?" } )%>
          <% end %>
          </td>
        </tr>
      <% end %>
   ```
   我删除了第一行,却没有删除最后一行。这是粗心以及对代码结构了解不足造成的。
   
 * 掉了:
 
 Rails 第三课:Rails 103 [4-8 将表单换为 Bootstrap 提供的版型](https://fullstack.xinshengdaxue.com/posts/68)
打开http://localhost:3000/groups/new报错。
错误提示:

Showing .../rails103/app/views/groups/form.html.erb where line #6 raised:
undefined local variable or method `title' for #<#Class:0x007fc8ae861540:0x007fc8af018b30>
<%= f.text
field title, :class => "string optional form-control" %>

查找app/views/groups/_form.html.erb,发现掉了“:”
改成` <%= f.text_field :title, :class => "string optional form-control" %>`即OK。


* rake db:migrate写成rake db:imgrate
报错:rake aborted!

*  多了“=”号

 Rails 第三课:Rails 103 [5-5 只有群组的“创始者”可以“编辑”“删除”群组资讯](https://fullstack.xinshengdaxue.com/posts/74)
打开http://localhost:3000/groups报错。

原因:倒着看教程,核对发现,`<% if current_user && current_user == group.user %>`写成了`<%= if current_user && current_user == group.user %>`,多了一个“=”。

解决:去掉多余的“=”就OK。

* account写成了accout
 Rails 第三课:Rails 103 [8-2 可以看到自己参与的所有群组](https://fullstack.xinshengdaxue.com/posts/87),
 打开http://localhost:3000/groups报错:
 ```
NameError in Groups#index
Showing .../rails103/app/views/common/_navbar.html.erb where line #22 raised:
undefined local variable or method `account_groups_path' for #<#<Class:0x007f8027ba8430>:0x007f8027bf3e08>
 ```
 检查了那个文件三次没发现错误。于是想可能是调用的东西出了错。然后倒着看教程,发现第二步:
 修改 config/routes.rb里把
 ```
   namespace :account do
resources :groups
  end
 ```
 里的account打成了accout
 
 * groups打成了group
  Rails 第三课:Rails 103 [8-2 可以看到自己参与的所有群组](https://fullstack.xinshengdaxue.com/posts/87),
 打开http://localhost:3000/groups报错:
 ```
NoMethodError in Account::Groups#index
Showing .../rails103/app/views/account/groups/index.html.erb where line #17 raised:

undefined method `each' for nil:NilClass
……
 <% @groups.each do |group| %>
 ```
 检查了那个文件没发现错误。于是想可能是调用的东西出了错。然后倒着看教程,发现Step 4. 建立 account/groups_controller.rb 下的 index action:
 修改app/controllers/account/groups_controller.rb里把
 ```
  def index
@groups = current_user.participated_groups
  end
 ```
 里的groups打成了group。连续两个输入错误可能是一边做一边听视频分心的缘故。
 
* 在user.rb和group.rb里,has\_many :group\_relationships,最后面的单词写成了单数,relationship

* 有次练习时不用心,把post.rb写错成了
belongs\_to :group
belongs\_to :post
结果报错:undefined method ‘user=’ ……
应该是:
belongs\_to :group
belongs\_to :user

* created\_at写成了create\_at

# 4-13

module JobsHelper
def render_job_status(job)
if job.is_hidden
content_tag(:span, "", :class => "fa fa-lock")
else
content_tag(:span, "", :class => "fa fa-globe")
end
end
end
``
中,
fa fa-globe错输成了fa-globe`

Comments

comments powered by Disqus