我创建了以下MySQL表来存储纬度/经度坐标以及每个点的名称:
CREATE TABLE `points` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`location` point NOT NULL,
PRIMARY KEY (`id`),
SPATIAL KEY `location` (`location`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
Run Code Online (Sandbox Code Playgroud)
我试图查询:
我发现的所有示例都涉及使用最小边界矩形(MBR)而不是半径.该表包含大约100万个点,因此需要尽可能高效.
如何CheckboxSelectMultiple对相关模型生成的复选框进行分组?
最好通过示例来说明这一点.
models.py:
class FeatureCategory(models.Model):
name = models.CharField(max_length=30)
class Feature(models.Model):
name = models.CharField(max_length=30)
category = models.ForeignKey(FeatureCategory)
class Widget(models.Model):
name = models.CharField(max_length=30)
features = models.ManyToManyField(Feature, blank=True)
Run Code Online (Sandbox Code Playgroud)
forms.py:
class WidgetForm(forms.ModelForm):
features = forms.ModelMultipleChoiceField(
queryset=Feature.objects.all(),
widget=forms.CheckboxSelectMultiple,
required=False
)
class Meta:
model = Widget
Run Code Online (Sandbox Code Playgroud)
views.py:
def edit_widget(request):
form = WidgetForm()
return render(request, 'template.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)
template.html:
{{ form.as_p }}
Run Code Online (Sandbox Code Playgroud)
以上产生以下输出:
[] Widget 1
[] Widget 2
[] Widget 3
[] Widget 1
[] Widget 2
Run Code Online (Sandbox Code Playgroud)
我想要的是功能复选框按功能类别分组(基于ForeignKey):
Category 1:
[] Widget …Run Code Online (Sandbox Code Playgroud) 将范围1..10转换为以下格式的哈希的最简单方法是什么?
{
1 => '£1',
2 => '£2',
# ...
}
Run Code Online (Sandbox Code Playgroud)
我试过这样做map,但最终得到一个哈希数组而不是一个哈希.
谢谢.
我有一个带有'email'字段的User模型.
在我看来,我已将此字段的标签呈现为"电子邮件地址",如下所示:
<%= form_for(:user) do |f| %>
<%= f.label :email, 'Email address' %><br /
<%= f.text_field :email %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是,当生成验证错误时,将使用"电子邮件":
电子邮件无效
我可以添加到模型中以便:电子邮件始终呈现为"电子邮件地址"而不是简单地"电子邮件"吗?
非常感谢
我正在使用state_machine来构建一个多步骤表单,在转换到下一步之前验证每个步骤的字段.
这是我的模特:
class Foo < ActiveRecord::Base
state_machine :initial => :step1 do
event :next do
transition :step1 => :step2
transition :step2 => :step3
end
event :previous do
transition :step3 => :step2
transition :step2 => :step1
end
state :step1 do
validates_presence_of :field1
end
state :step2 do
validates_presence_of :field2
end
state :step3 do
validates_presence_of :field3
end
end
end
Run Code Online (Sandbox Code Playgroud)
但是,这没有按预期工作:
> f = Foo.new
=> #<Foo id: nil, field1: nil, field2: nil, field3: nil, state: "step1", created_at: nil, updated_at: nil>
Run Code Online (Sandbox Code Playgroud)
Foo初始化为'step1'状态.到现在为止还挺好.
> …Run Code Online (Sandbox Code Playgroud) 我使用以下内容来缓存使用memcached的缓慢加载页面:
caches_action :complex_report, :expires_in => 1.day
Run Code Online (Sandbox Code Playgroud)
控制器操作受Devise身份验证保护.
页面当前在用户第一次请求时被缓存.然后从缓存中提取当天的后续请求.
这个问题是初始请求需要20-30秒才能加载.是否可以通过计划任务预先填充缓存?
任何建议非常感谢.
我正在使用MySQL并有两个数据库表,如下所示:
用户
id username
--------------
1 Bill
2 Steve
Run Code Online (Sandbox Code Playgroud)
对象
user_id key value
----------------------
1 A X
1 B Y
1 C Z
2 A S
2 C T
Run Code Online (Sandbox Code Playgroud)
产生以下结果需要什么查询?
username A B C
-------------------
Bill X Y Z
Steve S T
Run Code Online (Sandbox Code Playgroud)
我尝试了这个INNER JOIN,但最后有5行(每个对应的对象行一个).
任何帮助非常感谢.
如何将JSON服务用作Rails 3.2应用程序的模型?
我想将模型方法链接到JSON请求,例如
MyModel.create 生成JSON请求以创建新记录MyModel.find 生成JSON请求以检索记录并将JSON响应解码为模型对象构建此类功能的首选方法是什么?我正在研究的一个选项是创建一个自定义DataMapper适配器.
谢谢.
更新:
请注意,我不能使用ActiveResource,因为这需要JSON服务以某种方式响应,在这种情况下它不会.
我正在使用以下(次优)XML:
<a>
<b>
<c>X:1 Y:0</c>
<c>X:1 Y:0</c>
<c>X:2 Y:0</c>
</b>
<b>
<c>X:1 Y:0</c>
<c>X:2 Y:0</c>
</b>
</a>
Run Code Online (Sandbox Code Playgroud)
我试图使用XPath来计算<c>其内容包含的节点数X:1:
count(contains(/a/b/c, 'X:1'))
Run Code Online (Sandbox Code Playgroud)
但是,这会返回错误,而不是返回预期的计数3.
我究竟做错了什么?