小编Kev*_*tre的帖子

UUID和整数字段上的多态关联

给定表integeruuid主键是什么是集成多态连接(has_many)的最佳方法?例如:

class Interest < ActiveRecord::Base
  # id is an integer
  has_many :likes, as: :likeable
end

class Post < ActiveRecord::Base
  # id is a UUID
  has_many :likes, as: :likeable
end

class User < ActiveRecord::Base
  has_many :likes
  has_many :posts, through: :likes, source: :likeable, source_type: "Post"
  has_many :interests, through: :likes, source: :likeable, source_type: "Interest"
end

class Like < ActiveRecord::Base
  # likeable_id and likeable_type are strings
  belongs_to :likeable, polymorphic: true
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

许多查询都有效:

interest.likes
post.likes
user.likes
Run Code Online (Sandbox Code Playgroud)

然而: …

postgresql ruby-on-rails

20
推荐指数
1
解决办法
1076
查看次数

jQuery Animate填充到零

我有以下片段在悬停时切换填充(请参阅此处的示例):

<div id="outer"><div id="inner"></div></div> 
<script> 
  $("#inner").mouseenter(function () {
    $("#outer").animate({ 'padding' : '20px' }, "slow");
  });
  $("#inner").mouseleave(function () {
    $("#outer").animate({ 'padding' : '0px' }, "slow");
  });
</script>
Run Code Online (Sandbox Code Playgroud)

目标是使填充内部和外部都有动画,但是当前没有动画显示动画.我做了一些测试,如果我将假填充更改为10像素(从0像素),它会运行动画,但从零开始并向外动画.我正在运行jQuery 1.4.3.有任何解决这个问题的方法吗?

jquery jquery-1.4

16
推荐指数
2
解决办法
3万
查看次数

Rails功能测试用例并将文件上传到ActionDispatch :: Http :: UploadFile

我正在为远程存储文件的Rails应用程序添加测试.我正在使用默认的Rails功能测试.如何向他们添加文件上传?我有:

test "create valid person" do
  post(:create, :person => { :avatar => fixture_file_upload('avatar.jpeg') })
end
Run Code Online (Sandbox Code Playgroud)

这由于某种原因上传a Tempfile并导致AWS/S3gem失败:

NoMethodError: undefined method `bytesize' for Tempfile
Run Code Online (Sandbox Code Playgroud)

他们是否可以ActionDispatch::Http::UploadedFile通过网络浏览器进行测试,以获得测试使用和执行更多的测试?是fixture_file_upload测试上传文件到控制器的方式吗?如果是这样,为什么它不像浏览器一样工作?

作为一个说明,我真的不想切换测试框架.谢谢!

ruby gem ruby-on-rails functional-testing

16
推荐指数
1
解决办法
7845
查看次数

在Rails中将外部CSS转换为邮件的内联CSS

我正在尝试创建一个应用程序,它将发送风格繁重的电子邮件,并要求客户工作,除了谷歌的Gmail.我研究了这个问题,看起来Gmail从外部文件中删除了CSS,或者嵌套在'style'标签中的CSS.是否存在将样式从外部文件移动到内联的简单方法?

需要的东西:

<style>
.wide { width: 100px; }
.cell { display: block; }
</style>
<span class="wide cell">Sample</span>
Run Code Online (Sandbox Code Playgroud)

并将其转换为:

<div class="wide cell" style="width: 100px; display: block;">Sample</div>
Run Code Online (Sandbox Code Playgroud)

谢谢!

css ruby email gmail ruby-on-rails

16
推荐指数
2
解决办法
1万
查看次数

来自Retina Display的URL的图像

我有一个应用程序从一个拉取图像NSURL.是否可以通知应用程序它们是视网膜('@ 2x')版本(图像是视网膜分辨率)?我目前有以下内容,但图像在更高分辨率的显示屏上显示为像素化:

NSURL *url = [NSURL URLWithString:self.imageURL];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
self.pictureImageView.image = image;
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios

15
推荐指数
3
解决办法
7583
查看次数

无模型形式表

我希望用Formtastic重现以下内容:

<% form_tag '/search', :method => 'get' do %>
  <%= text_field_tag :q, params[:q] %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

<% semantic_form_for :search, :html => { :method => :get } do |form| %>
  <% form.inputs do %>
    <%= form.input :q %>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是,这需要使用以下方法访问参数哈希:

params[:search][:q]
Run Code Online (Sandbox Code Playgroud)

而不是我的要求:

params[:q]
Run Code Online (Sandbox Code Playgroud)

我想在我正在处理的应用程序中使用Formtastic用于所有表单,到目前为止我只遇到过这个问题.有任何想法吗?

ruby-on-rails formtastic

14
推荐指数
2
解决办法
8208
查看次数

在Objective-C中确定属性是否为int,float,double,NSString,NSDate,NSNumber等

我需要确定一个对象的属性(通过名称传递)类型,以便从XML执行反序列化.我有一些通用的伪代码(但是我不确定如何在Objective-C中执行这些比较):

id object = [[[Record alloc] init] autorelease];

NSString *element = @"date";
NSString *data = @"2010-10-16";

objc_property_t property = class_getProperty([object class], [element UTF8String]);
const char *attributes = property_getAttributes(property);

char buffer[strlen(attributes) + 1];
strcpy(buffer, attributes);

char *attribute = strtok(buffer, ",");
if (*attribute == 'T') attribute++; else attribute = NULL;

if (attribute == NULL);
else if (strcmp(attribute, "@\"NSDate\"") == 0) [object setValue:[NSDate convertToDate:self.value] forKey:element];
else if (strcmp(attribute, "@\"NSString\"") == 0) [object setValue:[NSString convertToString:self.value] forKey:element];
else if (strcmp(attribute, "@\"NSNumber\"") == 0) [object setValue:[NSNumber …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa objective-c

14
推荐指数
1
解决办法
1万
查看次数

Sinatra选项HTTP动词

Sinatra是否支持OPTIONS HTTP动词?就像是:

options '/' do
  response.headers["Access-Control-Allow-Origin"] = "*"
  response.headers["Access-Control-Allow-Methods"] = "POST"

  halt 200
end
Run Code Online (Sandbox Code Playgroud)

sinatra

14
推荐指数
2
解决办法
9612
查看次数

在Rails应用程序中使用模块的模型

我有一个模型,需要从辅助源加载外部数据.我的模型可以从(可交换)中获取数据的许多Web服务,但我不想创建难以更改服务的代码(成本因变量和固定使用而显着不同而且可能会发生变化将被要求).

我想创建一个驱动程序来执行交互(如果服务需要切换,则创建更多自定义驱动程序).不幸的是,由于驱动程序和模型的紧密耦合,将代码提取到插件或gem中是没有意义的.我已将所有代码解压缩到一个模块中(参见示例),并且当前在我的模型上面声明了代码.

module Synchronize
  def refresh
    self.attributes = ...
    self.save
  end
end

class Data < ActiveRecord::Base
  include Synchronize
end
Run Code Online (Sandbox Code Playgroud)

Rails(3.0.0)是否有一个约定存储与模型紧密耦合的模块?我应该使用插件来执行此操作吗?这与'app/helpers'目录有关吗?如果没有,最适合存储代码的地方在哪里?谢谢!

ruby coupling ruby-on-rails decoupling

13
推荐指数
1
解决办法
1万
查看次数

Swift中的协议扩展,其中对象是一个类并且符合协议

我有两个协议(ArchivableSerializable)和一个Model多次子类化的类().许多子类实现了ArchivableSerializable(或两者).我想确定对所有儿童的功能的Model实现都ArchivableSerializable.这两项工作:

extension Serializable where Self: Model {
  func fetch() { ... }
}
Run Code Online (Sandbox Code Playgroud)

要么

extension Serializable where Self: Archivable {
  func fetch() { ... }
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何扩展需要两个协议的位置.除了创建符合前两个协议的第三个协议之外还有其他选择吗?

swift

13
推荐指数
2
解决办法
9702
查看次数