ruby-on-rails - 错误: undefined method ` ' for nil:NilClass

标签 ruby-on-rails undefined

环境:Rails 3.0.1,MySQL
我有一个Users表,我想按城市搜索用户。

我在 users_controller 中有以下代码:

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

View 中的output.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

最佳答案

试试这个

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

看来您犯了一个简单的拼写错误。

关于ruby-on-rails - 错误: undefined method ` ' for nil:NilClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4175595/

相关文章:

javascript - jQuery v1.6.4 无法识别 selectmenu(),错误 : "undefined is not a function"

c++ - 未定义对类::函数错误的引用

javascript - 从选择输入动态更新列表

javascript - 选择 FORM_TAG 中的所有复选框

ruby-on-rails - 如何提高 ILIKE Performance?

ruby-on-rails - 如何检查是否启用了 Rails 5 缓存?

ruby-on-rails - Rails 4,如何正确配置smtp设置(gmail)

javascript - $stateParams 在传递给 Controller ​​后未定义

javascript - Backbone .js |我如何存储 View 的元素以供以后检索?

Javascript 和 jQuery 数组未定义