我有一个带字符串的数组,我想按字母顺序排列,但有一些默认值在顶部.例如:
["a", "b", "default1", "d", "default2", "c", "e"]
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
["default1", "default2", "a", "b", "c", "d", "e"]
Run Code Online (Sandbox Code Playgroud)
有人知道如何轻松完成这项工作?
UPDATE
默认值也包含在数组中,数组按字母顺序排列.
我正在编写一个脚本,允许管理员为用户分配多种语言.
我的多选工作方式如下:
<%= fields_for :users_languages do |u| %>
<div class="field">
<%= @lang_list.inspect %>
<%= u.label :Assign_Languages %><br />
<%= select_tag :language_id, options_for_select(Language.all.collect {|lang| [lang.english, lang.id]}),:multiple => true, :prompt => 'Select Language' %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是当我进入编辑用户时,他们的语言没有显示为自动选择.我该怎么做呢?
我正在寻找一个创建所有国家的脚本.有人知道我可以在Ruby中轻松使用的免费ISO列表吗?
我可以在谷歌上找到列表但我不幸用yaml,csv或SQL插入.
我对西班牙的所有城市也很感兴趣.
编辑:国家+国家代码
Edit2:对西班牙所有城市都感兴趣.
我有这个简单的查询,可以计算每月的用户注册数量.
SELECT TO_CHAR(created_at, 'YYYY-MM') AS month, COUNT(user_id)
FROM users
GROUP BY month
ORDER BY month DESC
Run Code Online (Sandbox Code Playgroud)
我希望每个月的百分比增长与上个月相比.
我有一个脚本生成16000个html页面并将其保存在系统中.1013页后,我收到错误:打开文件太多.
这是生成文件的Ruby代码
FileUtils.mkdir_p "public/users_directory/#{DEFAULT_COUNTRY_CODE}/#{prefix}"
FileUtils.mkdir_p "public/users_directory/#{DEFAULT_COUNTRY_CODE}/#{prefix}/#{n/1000}"
html_file = File.new("public/users_directory/#{DEFAULT_COUNTRY_CODE}/#{prefix}/#{n/1000}/#{n}.html", "w")
html_file.write(html)
html_file.close
Run Code Online (Sandbox Code Playgroud)
你可以看到我在最后一行关闭文件....
有人知道我在做错了什么吗?我有Ubuntu 8.04.4 LTS
非常感谢
编辑:
这是整个脚本
def self.fetching_directory_page(n=1, letter = nil)
id = letter == '' ? "" : "/#{letter.upcase}"
url = "this is a valid url :)"
agent = WWW::Mechanize.new
page = agent.get(url)
html = page.search('div#my_profile_body').to_html
prefix = id == '' ? 'all' : letter
FileUtils.mkdir_p "public/users_directory/#{DEFAULT_COUNTRY_CODE}/#{prefix}"
FileUtils.mkdir_p "public/users_directory/#{DEFAULT_COUNTRY_CODE}/#{prefix}/#{n/1000}"
html_file = File.new("public/users_directory/#{DEFAULT_COUNTRY_CODE}/#{prefix}/#{n/1000}/#{n}.html", "w")
html_file.write(html)
html_file.close
puts "+ CREATED #{prefix}/#{n/1000}/#{n}.html"
new_url = page.parser.xpath("//a[@class='next_page']")[0]['href'] rescue nil
if new_url.present? …Run Code Online (Sandbox Code Playgroud) 我一直认为你永远不应该使用浮动来节省数据库中的钱.所以我使用小数.问题是我保存十进制100并将其作为99.9999放在数据库中
我有一个名为GameCommission的模型
移民:
create_table :game_commissions, :force => true do |t|
t.integer :game_id
t.integer :widget_id
t.integer :user_id
t.decimal :amount, :precision => 6, :scale => 4, :default => 0
t.date :end_date
t.timestamps
end
Run Code Online (Sandbox Code Playgroud)
现在我快速制作一个新的GameCommission:
amount = BigDecimal.new("100")
gc = GameCommission.new(:game_id => 1, :widget_id => 1, :user_id => User.last.id, :amount => amount, :end_date => Date.today)
gc.save
gc.amount.to_s
# => "100
Run Code Online (Sandbox Code Playgroud)
金额现在是100,这就是我想要的.但是,如果我再次获取它,金额将更改为99.9999,这也是数据库中保存的金额....
gc = GameCommission.last
gc.amount.to_s
# => "99.9999"
Run Code Online (Sandbox Code Playgroud)
有人知道发生了什么事吗?