【发布时间】:2010-11-14 01:00:28
【问题描述】:
环境:Rails 3.0.1,MySQL
我有一个用户表,我想按城市搜索用户。
我在 users_controller 中有以下代码:
def output
@results = User.select(:fname, :lname).where(['city = ?', params[:text1]]).all
视图中的输出.html.erb:
<% @results.each do |r| %>
<%= @r.fname %>
<%= @r.lname %>
<% end %>
它将显示为 nil:NilClass 的未定义方法 `fname'。
但是,如果我在 View 中输入以下内容,它会起作用:
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
【问题讨论】: