2010-11-14 73 views
2

环境:Rails 3.0.1,MySQL
我有一个用户表,我想按城市搜索用户。ROR:未定义的方法`'为零:NilClass

我在users_controller以下代码:

def output 
@results = User.select(:fname, :lname).where(['city = ?', params[:text1]]).all 

output.html.erb在查看:

<% @results.each do |r| %> 
<%= @r.fname %> 
<%= @r.lname %> 
<% end %> 

它会显示为无未定义的方法`FNAME”:NilClass
不过,如果我键入下面的视图,它的工作原理:

your search are <%= @results %> 

输出是:

your search are [#<User fname: "adam", lname: "huang">, #<User fname: "eric", lname: "huang">] 

的用户表:

class CreateUsers < ActiveRecord::Migration 
    def self.up 
    create_table :users do |t| 
     t.integer :uid 
     t.string :email 
     t.string :password 
     t.string :fname 
     t.string :lname 
     t.string :city 
     t.integer :pid 

     t.timestamps 
    end 
    end 

回答

3

试试这个

<% @results.each do |r| %> 
<%= r.fname %> 
<%= r.lname %> 
<% end %> 

看起来你做了一个简单的错字。

+0

它的工作原理!谢谢... Q_Q我很愚蠢.. – Niao 2010-11-14 01:19:08

相关问题