【问题标题】:ROR: undefined method ` ' for nil:NilClassROR: nil:NilClass 的未定义方法“”
【发布时间】: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

【问题讨论】:

    标签: ruby-on-rails undefined


    【解决方案1】:

    试试这个

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

    看来你打错字了。

    【讨论】:

      猜你喜欢
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 2013-06-30
      • 1970-01-01
      相关资源
      最近更新 更多