最近,我在公司内部迁移了我的网页到Rails,我已经安装和读取了mysql,但我目前正在尝试设置一个网页,并显示一些基本信息,我得到了这个未定义的方法“每个”错误。如果有人能帮我一把的话,这会很有用的,我觉得我只是错过了什么,一旦我解决了这个问题,我就可以把插头塞进去了!
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
class IndexController < ApplicationController
before_filter :initialize_remote_user
def index
end
def toolkit
@toolkit_urls = HelpToolkit.order(:name)
end
endtoolkit.html.erb
<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 (模型)
class HelpToolkit < ActiveRecord::Base #class beginning
attr_accessible :id, :url, :name
end发布于 2015-09-25 01:07:01
我已经纠正了我的问题。模型是要查找复数表名,所以它要查找help_toolkits,所以我必须修改environment.rb文件以使table_pluralization = false。这样做解决了我的问题。
发布于 2015-09-22 20:25:54
我可能错了,但似乎您没有在index方法中分配变量:
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编辑:
不,对不起。误读动作名称..。
发布于 2015-09-23 04:28:35
我相信这个
def toolkit
@toolkit_urls = HelpToolkit.All
end应该是
def toolkit
@toolkit_urls = HelpToolkit.all
endhttps://stackoverflow.com/questions/32724401
复制相似问题