这是我在Active Admin上破坏的第三天.
我有@survey这个has_many :questions和每个问题has_many :answers- 它们实际上是用户可以选择的变种.
但是我仍然不能把它付诸实践,它只是没有创建更深层次的1级:即使表单正常工作,但没有创建任何东西.
我有一个使用act-as-taggable-on的几个分类法的模型
class Film < ActiveRecord::Base
attr_accessible :mood_list, :genre_list, :tag_list, :country_list
acts_as_taggable_on :countries, :genres, :moods, :tags
end
Run Code Online (Sandbox Code Playgroud)
我试图让Ransack搜索找到有任何心情和完全匹配国家的记录.但它返回了0条记录,而我有匹配的记录,请参阅:
Film.search({:moods_name_in=>['happy', 'snooze']}).result.count => 2
Film.search({:countries_name_eq=>'USA'}).result.count => 2
Film.search({:moods_name_in=>['happy', 'snooze'], :countries_name_eq=>'USA'}).result.count => 0
Run Code Online (Sandbox Code Playgroud)
它什么都没有!但我肯定有一个:
>> f.countries
[#<ActsAsTaggableOn::Tag id: 13, name: "USA">]
>> f.moods
[#<ActsAsTaggableOn::Tag id: 17, name: "active">, #<ActsAsTaggableOn::Tag id: 16, name: "psyched">, #<ActsAsTaggableOn::Tag id: 15, name: "happy">]
The SQL generated is:
(3.2ms) SELECT COUNT(DISTINCT "films"."id") FROM "films" LEFT OUTER JOIN "taggings" ON "taggings"."taggable_id" = "films"."id" AND taggings.context = ('moods') AND "taggings"."taggable_type" = 'Film' …Run Code Online (Sandbox Code Playgroud) activerecord has-and-belongs-to-many acts-as-taggable-on arel ransack
我们有〜20M(酒店提供)存储在弹性(1.6.2)文件,关键是要通过多个字段组文档(duration, start_date, adults, kids),然后选择一个便宜的报价了各组.我们必须按成本字段对这些结果进行排序.
为了避免子聚合,我们将目标字段值合并为一个default_group_field通过将它们与点(.)连接而调用的值.
该字段的映射如下所示:
"default_group_field": {
"index": "not_analyzed",
"fielddata": {
"loading": "eager_global_ordinals"
},
"type": "string"
}
Run Code Online (Sandbox Code Playgroud)
我们执行的查询看起来像这样:
{
"size": 0,
"aggs": {
"offers": {
"terms": {
"field": "default_group_field",
"size": 5,
"order": {
"min_sort_value": "asc"
}
},
"aggs": {
"min_sort_value": {
"min": {
"field": "cost"
}
},
"cheapest": {
"top_hits": {
"_source": {}
},
"sort": {
"cost": "asc"
},
"size": 1
}
}
}
}
},
"query": {
"filtered": {
"filter": {
"and": …Run Code Online (Sandbox Code Playgroud) 我有令人敬畏的Globalize3宝石的麻烦.现在我有两种语言:en和:ru.并且:ru回归:恩喜欢这个
#/config/initializers/globalize.rb
Globalize.fallbacks = {:ru => [:ru, :en]}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我试图通过名称翻译或翻译后备值对翻译记录的整个集合进行排序.但with_translations()似乎没有给我这样的机会!
Country.with_translations(:ru).order('country_translations.name ASC')
#this filters out those who have no :ru translations (BUT THEY SHOLD USE FALLBACKS!)
Run Code Online (Sandbox Code Playgroud)
所以要检索我可以传递一系列语言环境的所有记录:
Country.with_translations([:ru, :en]).order('country_translations.name ASC')
#but this completely ruins the sorting order (DAMN NOTHING IS SORTED)
Run Code Online (Sandbox Code Playgroud)
我想要的唯一简单的事情就是获得后备并整理所有东西!所以我们需要以某种方式获取所有记录,只按可用的名称值排序.
有什么办法吗?
我在当前项目中使用gmaps4rails非常棒的gem,并且必须在DB中导入超过一千个应该充当gmappable的对象.
然而,并非所有人都有正确的地址!因此,当我尝试导入时,在第一个无法使用Gmaps4rails :: GeocodeStatus进行地理编码的地址上失败.
是否有可能在可能的情况下跳过错误和地理编码?
我想出了这个:
acts_as_gmappable :process_geocoding => false
before_save :prepare_gmaps
private
def prepare_gmaps
begin
data = Gmaps4rails.geocode(address).first
self.latitude= data[:lat]
self.longitude= data[:lng]
rescue Gmaps4rails::GeocodeStatus
end
end
Run Code Online (Sandbox Code Playgroud) validation geocoding ruby-on-rails ruby-on-rails-3 gmaps4rails
我很困惑,试图改变像这里所说的地图控件但不知道如何使用gmaps4rails gem实现.
我只想留下缩放和平移控制并删除所有其他.但是js控制台说:
>> Gmaps.map.map.mapTypeControl
>> false
Run Code Online (Sandbox Code Playgroud)
但它仍然存在于地图上.
gmaps4rails ×3
activerecord ×2
google-maps ×2
ruby ×2
activeadmin ×1
aggregate ×1
arel ×1
fallback ×1
geocoding ×1
globalize3 ×1
nested-forms ×1
ransack ×1
validation ×1