小编cmw*_*ght的帖子

使用Rails序列化将哈希保存到数据库

我试图在我的rails应用程序中将哈希映射ID保存到多次尝试中.我迁移到数据库以适应这个新列:

class AddMultiWrongToUser < ActiveRecord::Migration
  def self.up
    add_column :users, :multi_wrong, :string
  end

  def self.down
    remove_column :users, :multi_wrong
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我有:

class User < ActiveRecord::Base 
 serialize :multi_wrong, Hash
end
Run Code Online (Sandbox Code Playgroud)

但是,当我使用rails控制台通过执行以下操作来测试时:

user = User.create()
user.multi_wrong = {"test"=>"123"}
user.save
Run Code Online (Sandbox Code Playgroud)

输出为false.这里出了什么问题?

ruby serialization activerecord ruby-on-rails

135
推荐指数
3
解决办法
9万
查看次数

如何在heroku上查找当前连接池大小

我们有一个rails 3.2(.11)应用程序,在heroku bamboo堆栈上运行许多dynos,连接到MySQL RDS服务器.我们当前的数据库连接似乎存在一些问题,因此我们正在尝试精确调试每个dyno正在旋转的连接数.我知道我可以DATABASE_URL在heroku 的配置中设置连接池的大小,但似乎无法找出默认情况下当前正在使用的连接数.

两个主要问题:

1)如何找到heroku使用的连接池的大小?

2)为什么dyno需要连接池大小大于1?我的理解是rails一次只能执行1个请求,因此就我所见,应该只需要一个数据库连接.

heroku ruby-on-rails-3 ruby-on-rails-3.2

22
推荐指数
2
解决办法
9297
查看次数

耙0.9.0'未定义方法'任务''

Gemfile只包含rails 3.0.7和sqlite3,突然rake将无法在任何app上运行.运行'rake db:migrate'时出现错误.完整跟踪输出:

rake aborted!
undefined method `task' for #<NotWorking::Application:0x00000100ccc328>
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:139:in `load_tasks'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing'
/Users/codywright/Code/Rails/not_working/Rakefile:7:in `<top (required)>'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in `load'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:495:in `raw_load_rakefile'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:78:in `block in load_rakefile'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:77:in `load_rakefile'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:61:in `block in run'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/lib/rake/application.rb:59:in `run'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180@global/gems/rake-0.9.0/bin/rake:31:in `<top (required)>'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `load'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails-3

17
推荐指数
2
解决办法
9142
查看次数

如何用CSS控制光标/插入符号大小

我试图控制html textarea中的插入符号大小.大小似乎默认为行高,有没有办法手动控制它?

html css

13
推荐指数
1
解决办法
3万
查看次数

如何在YouTube Data API v3中获取当前用户的个人资料信息

在V2中,您可以点击/api/users/default获取信息的路径,例如用户的用户名.这在此处记录:https://developers.google.com/youtube/2.0/developers_guide_protocol_profiles

在我们迁移到V3时,我还需要能够提取用户名,但找不到任何显示如何操作的文档.此功能是否在V3中复制,还是有另一种方法可以完成此任务?

谢谢!

youtube-api

10
推荐指数
2
解决办法
2万
查看次数

MySQL中使用索引的最大IN子句数

我目前正在尝试查询包含几个(3)in子句的表,例如:

 SELECT *
 FROM table
 WHERE
     a IN (2884,5320)
   AND 
     b IN ('a', 'b', 'c')
   AND 
     c IN (1, 2, 3)
   AND d='abcd'
   AND date BETWEEN 0 AND 1383177599
Run Code Online (Sandbox Code Playgroud)

该表索引为 index(a, b, c, d, date)

但是,当我对查询运行解释时,解释器显示没有合适的索引可供使用.即使我,情况仍然如此FORCE INDEX.

如果我将上述INs中的一个改为=如此

SELECT *
FROM table
WHERE
    a = 2884
  AND 
    b IN ('a', 'b', 'c')
  AND 
    c IN (1, 2, 3)
  AND d = 'abcd'
  AND date BETWEEN 0 AND 1383177599
Run Code Online (Sandbox Code Playgroud)

MySQL将允许我强制它使用索引,但是否则会选择另一个非覆盖索引.无论将哪个INs改为,都是这种情况=. …

mysql sql

8
推荐指数
1
解决办法
537
查看次数

如何允许ERB输出中的换行符

我试图在<p>元素中显示数据库中字段的内容.在html.erb模板中,代码如下所示:

<p><%= front.gsub(/(\r)?\n/, "<br>") %></p> ...
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是为了逃避中断,我必须.html_safe在上面的gsub结束时应用该方法,但这样做会打开整个应用程序进行XSS攻击.我怎样才能休息时间被转义?

ruby-on-rails erb

4
推荐指数
1
解决办法
5551
查看次数

MySQL使用相同的字符串为CRC32()返回不同的值

我有一个奇怪的问题,两个查询返回CRC32的不同哈希值与相同的字符串.

如果我跑:

SELECT 'http://mywebsite4.com/myvideos', CRC32('http://mywebsite4.com/myvideos');

返回的哈希值为3769016377.

如果我然后跑

INSERT INTO locations (full_url, full_url_hash) VALUES ('http://mywebsite4.com/myvideos', CRC32('http://mywebsite4.com/myvideos'))

插入的哈希值为2147483647.

我有什么明显的遗漏吗?据我所知,CRC32函数应该总是将相等的字符串散列为等于32位的整数,我不能在我的生活中弄清楚为什么它们在这种情况下是不同的.

谢谢!

mysql sql crc32 sql-insert

2
推荐指数
1
解决办法
1500
查看次数