未定义的方法,用于Array []的salt_masterkey

时间:2015-05-22 14:31:03

标签: ruby-on-rails methods undefined

我遇到的问题是,由于上述错误,我的服务器一直拒绝我的请求。

像整个互联网一样搜索。我在最后。

如果有人能帮助我,我将非常感激。

以下是代码:

def login
@user = User.find_by_sql(['select s* from users Where identity like ?;', params[:identity]])
if (@user)
  respond_with(:salt_masterkey => @user.salt_masterkey, :privkey_user_enc => @user.privkey_user_enc, :pubkey_user => @user.pubkey_user, status: 100)
else
  respond_with(status: 101)
end
end

问题应该在这一行内:

respond_with(:salt_masterkey => @user.salt_masterkey, ....

数据库就像这样构建

class CreateUsers < ActiveRecord::Migration
  def change
     create_table(:users, id: false)  do |t|
        t.primary_key :user_id
        t.index :identity, :unique=>true
        t.string :identity
        t.string :salt_masterkey
        t.string :pubkey_user
        t.string :privkey_user_enc
        t.timestamps
   end
 end
end

感谢您的帮助。

迎接

1 个答案:

答案 0 :(得分:1)

find_by_sql返回一个数组,salt_masterkey方法属于特定记录。你应该试试@ user.first.salt_masterkey