我正在使用'postgres'超级用户进行全新的postgresql安装.登录通过:
sudo -u postgres psql
postgres=# createdb database
postgres-# \list
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
template0 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
: postgres=CTc/postgres
Run Code Online (Sandbox Code Playgroud)
没有错误,但没有创建表.有任何想法吗?
我的代码是:
<div id="wrap">
<div id="element1" class="ewrap"></div>
<div id="element2" class="ewrap"></div>
<div id="element3" class="ewrap"></div>
<div id="element4" class="ewrap"></div>
<div id="element5" class="ewrap"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我如何动态删除所有元素element1?
我试图将自定义错误添加到我的用户模型的实例,但是当我调用有效时?它正在擦除自定义错误并返回true.
[99] pry(main)> u.email = "test@test.com"
"test@test.com"
[100] pry(main)> u.status = 1
1
[101] pry(main)> u.valid?
true
[102] pry(main)> u.errors.add(:status, "must be YES or NO")
[
[0] "must be YES or NO"
]
[103] pry(main)> u.errors
#<ActiveModel::Errors:[...]@messages={:status=>["must be YES or NO"]}>
[104] pry(main)> u.valid?
true
[105] pry(main)> u.errors
#<ActiveModel::Errors:[...]@messages={}>
Run Code Online (Sandbox Code Playgroud)
如果我validate在模型中使用该方法,那么它可以工作,但是这个特定的验证是从不同的方法中添加的(这需要传递参数):
User
def do_something_with(arg1, arg2)
errors.add(:field, "etc") if arg1 != arg2
end
Run Code Online (Sandbox Code Playgroud)
由于上述原因,user.valid?即使将错误添加到实例,也会返回true.
我遇到了一些麻烦:
template = $("#template");
$(template).attr("id", "newid");
$(template).appendTo("body");
Run Code Online (Sandbox Code Playgroud)
我想要做的是为模板分配一个id,然后修改内容.麻烦的是,我目前指的是实际的模板元素,因此id正在改变它.再次使用此模板时,由于ID不同,我无法选择.
关于最佳方法的任何建议?
某些浏览器(如Chrome)会在输入上提供额外的搜索取消按钮type="search",如下图所示.
通常keyup,附加检查足以测试用户是否删除了输入字符串(不是右键点击帐户).但是,如果用户通过webkit浏览器提供的特殊取消按钮取消输入,则既keyup不会change触发也不会触发.
这些取消按钮是否有某种特殊事件?或者我是否必须检查已存在的事件之一click?

我以前有:
serialize :params, JSON
Run Code Online (Sandbox Code Playgroud)
但是这将返回JSON并将散列键符号转换为字符串.我想使用符号引用哈希,这在使用哈希时最常见.我给它添加符号,Rails返回字符串.为了避免这种情况,我创建了自己的getter/setter.setter很简单(JSON编码),getter是:
def params
read_attribute(:params) || JSON.parse(read_attribute(:params).to_json).with_indifferent_access
end
Run Code Online (Sandbox Code Playgroud)
我无法params直接引用,因为这会导致循环,所以我正在使用read_attribute,现在我的哈希键可以用符号或字符串引用.但是,这不会更新哈希:
model.params.merge!(test: 'test')
puts model.params # => returns default params without merge
Run Code Online (Sandbox Code Playgroud)
这让我觉得哈希是由副本引用的.
我的问题是双重的.我可以扩展活动记录JSON序列化以返回无关紧要的访问哈希(或不将符号转换为字符串),并且仍然具有如上所述的哈希工作和合并吗?如果没有,我该怎么做才能改善我的吸气剂以便model.params.merge!起作用?
我希望有一些东西(有效):
def params_merge!(hash)
write_attribute(:params, read_attribute(:params).merge(hash))
end
# usage: model.params_merge!(test: 'test')
Run Code Online (Sandbox Code Playgroud)
更好的是,只需让Rails返回一个具有无差别访问权限的哈希值,或者不将我的符号转换为字符串!感谢任何帮助.
就是想.我正在寻找一个单页面的小型Web应用程序.它本质上是一个视频聊天页面,所以我正在寻找我可以使用的API或任何其他解决方案?
这将在LAMP堆栈上运行.
我正在编辑一个文件,我正在使用irb来测试api:
> require './file.rb'
> o = Object.new
> o.method
Run Code Online (Sandbox Code Playgroud)
然后我希望能够编辑file.rb,并能够立即看到更改.示例:假设我第一次需要file.rb时new_method不存在:
> o.new_method
Run Code Online (Sandbox Code Playgroud)
哪个会返回错误.是否有沙箱/开发人员模式或方法,我可以实现上述方法,而无需每次都重新加载文件?无论如何,在第一次要求后,要求将无法工作.我假设最坏的情况我不得不使用负载.
我目前有这个不太理想的解决方案:
def years_between_dates(date_from, date_to)
((date_to.to_time - date_from.to_time) / 1.year.seconds).floor
end
Run Code Online (Sandbox Code Playgroud)
计算不必精确(带闰年等),但确实需要相当准确并考虑月份。3.8 年应该返回 3 年,因此floor.
我将to_time考虑到这两种Date,Time和DateTime。
我不禁想到有一种更简洁的方式来做上述事情。
出于某种原因,我甚至无法在表格中选择无效日期.我如何强制选择?我刚收到:
select * from table
>> Mysql2::Error: Invalid date: 1900-00-00
Run Code Online (Sandbox Code Playgroud)
我不是要插入,只是选择.我可以在选择查询中设置允许无效日期吗?
mysql --version
mysql Ver 14.14 Distrib 5.1.61, for debian-linux-gnu (i686) using readline 6.1
mysql> select @@global.sql_mode;
+-------------------+
| @@global.sql_mode |
+-------------------+
| |
Run Code Online (Sandbox Code Playgroud) jquery ×3
ruby ×2
activerecord ×1
api ×1
html5 ×1
irb ×1
javascript ×1
lamp ×1
mysql ×1
postgresql ×1
psql ×1
sql ×1
video ×1