我有一个包含六个英雄图片的登录页面。我将它设置为每行显示三张图像,分两行。这适用于 Chrome、Firefox、IE、Opera,但不适用于 Safari (10.1)。第一行没有整齐的行,而是有两个图像,第二个三个,第三个。这是我的 erb 文件:
<section class="grouping">
<div class="wrapper grouping">
<div class="intro-content grouping row">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>" role="alert">
<%= value %>
</div>
<% end %>
<div class="landing-image-container col-xs-12 col-sm-4">
<%= link_to image_tag("news.jpg"), articles_path, class: 'image-link' %>
<h4 class="landing-headings text-centered"><%= link_to "News", articles_path, class: 'landing-link' %></h4>
</div>
<div class="landing-image-container col-xs-12 col-sm-4">
<%= link_to image_tag("Our People.JPG"), support_path, class: 'image-link' %>
<h4 class="landing-headings text-centered"><%= link_to "Peer Support", support_path, class: 'landing-link' %></h4>
</div>
<div class="landing-image-container …Run Code Online (Sandbox Code Playgroud) 我正在构建一个连接到客户端API的类库,并将来自给定端点的响应收集到一个类中.换句话说,我将点击客户端的Donuts端点,并使用JsonConvert将响应反序列化到我的Donuts类中,该类具有与JSON对象中的属性匹配的字段.这一切都很好,但它们有很多端点,我有很多方法一遍又一遍地重复相同的代码.为了DRYness和关注点的分离,我想有一个单独的命名空间,无论端点如何,都会进行其余的调用,并将正确的结果返回给主类.这是它现在所做的一个例子(我使用RestSharp来配置请求和响应):
public List<T> Index<T>(string Endpoint)
{
List<T> Results = new List<T>();
RestClient Client = new RestClient();
RestRequest Req = ConfigureGetRequest(Endpoint);
IRestResponse Resp = Client.Execute(Req);
if (Resp.StatusCode == System.Net.HttpStatusCode.OK)
{
Results = JsonConvert.DeserializeObject<List<T>>(Resp.Content, DeserializationSettings);
}
return Results;
}
}
Run Code Online (Sandbox Code Playgroud)
if语句中还有其他代码(它实际上是错误处理的if-else),但它与这个问题并不真正相关.我在多种方法中使用相同的代码,唯一的区别是它返回List<Bagel>,或者List<Cruller>等等...我想要做的是将此代码提取到它自己的方法中,但我不确定如何.现在,我正在尝试反序列化List<object>,然后将其转换为List<Donut>以后,但这似乎不是我能做的事情.我的另一个想法是将端点名称作为参数传递(public List<Donut> GetDonuts(string Endpoint)),然后以某种方式使用它来确定要反序列化的对象类型,如果这有意义的话?Anyhoo,如果有人对这样做的好方法有任何见解,我们将不胜感激!
编辑
很棒的回答,谢谢大家.我根据Matt Dillard的答案重构了这个方法.下一步是将List转换为List.调用上述方法的方法如下所示:
public List<Donut> GetDonuts()
{
List<Donut> Results = new List<Donut>();
MODULE MakeCall = new GET();
return Results = MakeCall.Index("donuts")();
}
Run Code Online (Sandbox Code Playgroud)
我的Intellisense告诉我"无法从用法中推断出方法'MODULE.Index(string)'的类型参数.请尝试明确指定类型参数".我尝试像这样投射:(列表)MakeCall.Index("甜甜圈")(); 但这没有成功.有没有办法强制转换,以便我可以使用GetDonuts,GetCrullers等方法...所有人都有效地调用Index?
我正在通过The Odin Project学习Ruby.我的任务是建立一个Caesar Cipher程序,我整天都在反对这个问题.我终于写了我认为是工作程序的东西,但我不理解输出.这是Git:https://github.com/PAMulligan/caesar_cipher.git.如果有人对我出错的地方有任何了解,我会很乐意帮忙.