我是初级Rails开发人员,在工作中我们遇到了以下问题:
只需为一条记录更新列的值.我们做的是创建这样的迁移:
class DisableAccessForUser < ActiveRecord::Migration
def change
User.where(name: "User").first.update_column(:access, false)
end
end
Run Code Online (Sandbox Code Playgroud)
迁移仅适用于架构更改吗?
你还建议其他什么解决方案?
PS:我只能用代码更改它.无法访问控制台.
我创建了一个新的Rails项目,我使用了scaffold,然后尝试使用db:create.我没有更改config/database.yml所以密码为空(我总是输入我用来登录localhost/phpmyadmin的密码,但这次我忘记了)
开发:适配器:mysql2编码:utf8重新连接:false数据库:test_associations_development pool:5用户名:root密码:socket:/tmp/mysql.sock
所以,回到终端我有以下消息:
>*******
>
>*******
>*******
>*******
在此之后,我无法登录到phpmyadmin,当我在本地运行我的应用程序时,我收到此错误:
Mysql2 ::错误
用户'root'@'localhost'拒绝访问(使用密码:YES)
我使用的是OS X 10.7.2,Rails 3.2,Ruby 1.9.3
有任何想法吗??
我正在使用Rails 3.2,我有一个数据库表,我想在其中找到符合以下条件的所有行:
a = true且b = true且(0 <c <1或d = 1),a,b,c,d为列.
我可以有类似的东西:
Route.where(:a => true,
:b => true,
:c => 0..1 OR :d=1
).all
Run Code Online (Sandbox Code Playgroud) github上的一段代码:http://bit.ly/ZMSJXQ
1)登录时,如果出现以下情况,我不会收到任何错
devise_error_messages!是空的,因为resource.errors是空的.看起来资源没有得到验证.为什么?
2)如果我跑,resource.valid?然后resource.errors返回:email=>["has already been taken"], :password=>["can't be blank"]
我收到错误消息,但它们不正确."已经使用电子邮件"登录时没有意义.为什么?
(注册,重置密码等工作正常.)