我有一个使用ServiceStack构建的简单REST服务.
如果我配置这样的路线:
//register user-defined REST-ful urls
Routes
.Add<Contact>("/Contacts")
.Add<Contact>("/Contacts/{ContactId}")
Run Code Online (Sandbox Code Playgroud)
此请求成功.
http://<server>:59557/Contacts?ContactId=9999 //Works
Run Code Online (Sandbox Code Playgroud)
如果我配置这样的路由(业务分析师更喜欢生成的元数据)
//register user-defined REST-ful urls
Routes
.Add<UpdateContact>("/UpdateContact", "PUT")
.Add<CreateContact>("/CreateContact", "POST")
.Add<GetContact>("/Contacts/{ContactId}", "GET")
http://<server>:59557/Contacts/9999 //Works
http://<server>:59557/Contacts?ContactId=9999 //Fails, Handler for request not found
Run Code Online (Sandbox Code Playgroud)
如何在第二个样本中配置路由,以便对/ Contacts?ContactId = 9999的请求成功?
谢谢.
新手骨干问题:
上下文:构建带有主干的购物清单
我有一个名称,描述和标签(数组)属性调用的模型类.我想基于此模型或此模型的集合创建两个视图.
第一个视图将显示所有项目,如下所示:
<ul>
<li><h3>Item 1 Name</h3>
<p>Item 1 Description</p>
<p>Tag1, Tag2 ,Tag3</p>
</li>
.......
</ul>
Run Code Online (Sandbox Code Playgroud)
第二个视图将显示标签列表和标记项目的计数,如下所示:
<ul>
<li>Tag1<span>{count of items tagged with tag1}</span></li>
<li>Tag2<span>{count of items tagged with tag2}</span></li>
<li>Tag3<span>{count of items tagged with tag3}</span></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我构建了模型,集合和视图以支持第一个视图.我想知道使用现有模型(或创建新模型?)的正确方法来构建第二个视图.
提前致谢...
现有项目模型和集合(从Todo.js示例中删除)
window.Item = Backbone.Model.extend({
// Default attributes for a todo item.
defaults: function() {
return {
order: Items.nextOrder()
};
}
});
window.ItemList = Backbone.Collection.extend({
model: Item,
localStorage: new Store("items"),
nextOrder: function() {
if (!this.length) return 1;
return this.last().get('order') + 1; …Run Code Online (Sandbox Code Playgroud) 你能帮我重构一下我为Ruby Koans#182提出的解决方案吗?这是你在其中写一个分数方法来计算贪婪游戏的分数的公案.以下代码工作,所有测试都通过.
然而,感觉很长,没有红宝石般的感觉.我怎样才能让它变得更好?
def score(dice)
rollGreedRoll = Hash.new
rollRollCount = Hash.new
(1..6).each do |roll|
rollGreedRoll[roll] = roll == 1 ? GreedRoll.new(1000, 100) :
GreedRoll.new( 100 * roll, roll == 5 ? 50 : 0)
rollRollCount[roll] = dice.count { |a| a == roll }
end
score =0
rollRollCount.each_pair do |roll, rollCount|
gr = rollGreedRoll[roll]
if rollCount < 3
score += rollCount * gr.individualPoints
else
score += gr.triplePoints + ((rollCount - 3) * gr.individualPoints)
end
end
return score
end
class GreedRoll
attr_accessor …Run Code Online (Sandbox Code Playgroud)