首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails为nil:NilClass选择页未定义方法“`each”

Rails为nil:NilClass选择页未定义方法“`each”
EN

Stack Overflow用户
提问于 2015-09-22 18:36:25
回答 3查看 196关注 0票数 2

最近,我在公司内部迁移了我的网页到Rails,我已经安装和读取了mysql,但我目前正在尝试设置一个网页,并显示一些基本信息,我得到了这个未定义的方法“每个”错误。如果有人能帮我一把的话,这会很有用的,我觉得我只是错过了什么,一旦我解决了这个问题,我就可以把插头塞进去了!

代码语言:javascript
复制
NoMethodError in Index#toolkit

Showing /rhel5pdi/apollo/var/env/BlackMesaRails/rails-root/app/views/index/toolkit.html.erb where line #9 raised:

undefined method `each' for nil:NilClass
Extracted source (around line #9):

6:              <h3>Toolkit</h3>
7:          </div>
8:          <p>
9:           <% @toolkit_urls.each do |toolkit| %>
10:                           <div class="page-header"><h3><%= raw toolkit.name %></h3></div>
11:                           <p><%= raw toolkit.url %></p>
12:                         <% end %>
Rails.root: /rhel5pdi/apollo/var/env/BlackMesaRails/rails-root

Application Trace | Framework Trace | Full Trace
app/views/index/toolkit.html.erb:9:in `_app_views_index_toolkit_html_erb___2469700212325674377_127789780760'
Request

Parameters:

None
Show session dump

Show env dump

Response

Headers:

None

我将显示我的模型、视图和控制器

index_controller.rb

代码语言:javascript
复制
    class IndexController < ApplicationController
  before_filter :initialize_remote_user
  def index
  end
  def toolkit
    @toolkit_urls = HelpToolkit.order(:name)
  end

end

toolkit.html.erb

代码语言:javascript
复制
<body>
    <div class="col-md-9">
        <div class="well sales-pitch">
            <div class="page-header">
                <h3>Toolkit</h3>
            </div>
            <p>
             <% @toolkit_urls.each do |toolkit| %>
                          <div class="page-header"><h3><%= raw toolkit.name %></h3></div>
                          <p><%= raw toolkit.url %></p>
                        <% end %>
</p>
        </div>
    </div>
</body>

help_toolkit.rb (模型)

代码语言:javascript
复制
class HelpToolkit < ActiveRecord::Base #class beginning
  attr_accessible :id, :url, :name
end
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-25 01:07:01

我已经纠正了我的问题。模型是要查找复数表名,所以它要查找help_toolkits,所以我必须修改environment.rb文件以使table_pluralization = false。这样做解决了我的问题。

票数 0
EN

Stack Overflow用户

发布于 2015-09-22 20:25:54

我可能错了,但似乎您没有在index方法中分配变量:

代码语言:javascript
复制
def index
  #assign variable here! Or call the toolkit method here
end
def toolkit
  @toolkit_urls = Toolkit.select('url, name').from('test.help_toolkit').order('name')
end

编辑:

不,对不起。误读动作名称..。

票数 0
EN

Stack Overflow用户

发布于 2015-09-23 04:28:35

我相信这个

代码语言:javascript
复制
def toolkit
  @toolkit_urls = HelpToolkit.All
end

应该是

代码语言:javascript
复制
def toolkit
  @toolkit_urls = HelpToolkit.all
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32724401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档