2010-11-14 105 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

相關問題