小编ran*_*its的帖子

NSPredicate相当于SQL的LIKE

我正在寻找一种方法NSPredicate来设置LIKE条件来获取对象.除此之外,一个OR也是有用的.我正在尝试做一些事情,如果用户搜索"詹姆斯"我可以写一个NSPredicate将做相当于:

select * from users where firstname LIKE '%James%' OR lastname LIKE '%James%';
Run Code Online (Sandbox Code Playgroud)

iphone cocoa cocoa-touch core-data nspredicate

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

Ruby on Rails:如何从显示的子资源中获取错误消息?

我很难理解如何让Rails为渲染XML模板时验证失败的子资源显示明确的错误消息.假设我有以下几个类:

class School < ActiveRecord::Base
    has_many :students
    validates_associated :students

    def self.add_student(bad_email)
      s = Student.new(bad_email)
      students << s
    end
end

class Student < ActiveRecord::Base
    belongs_to :school
    validates_format_of :email,
                  :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
                  :message => "You must supply a valid email"
end
Run Code Online (Sandbox Code Playgroud)

现在,在控制器中,假设我们想构建一个简单的API,允许我们在其中添加一个带有学生的新学校(再次,我说,这是一个可怕的例子,但为了问题的目的发挥作用)

class SchoolsController < ApplicationController
    def create
      @school = School.new
      @school.add_student(params[:bad_email])
      respond_to do |format|
          if @school.save
          # some code
          else
            format.xml  { render :xml => @school.errors, :status => :unprocessable_entity }
          end
      end
    end
end
Run Code Online (Sandbox Code Playgroud)

现在验证工作正常,因为电子邮件与Student类中的validates_format_of方法中设置的正则表达不匹配而死亡.但是我得到的输出如下:

<?xml version="1.0" encoding="UTF-8"?>
<errors>
  <error>Students is …
Run Code Online (Sandbox Code Playgroud)

ruby rest activerecord ruby-on-rails

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

如何让ActiveRecord在Ruby on Rails中显示下一个id(last + 1)?

如果一个对象将被持久化到数据库,是否有一种紧凑的方式使用ActiveRecord来查询下一个要使用的id?在SQL中,像这样的查询看起来像:

SELECT max(id) + 1 FROM some_table;
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

42
推荐指数
5
解决办法
3万
查看次数

iOS:将URL解析为段

获取NSURL对象的有效方法如下:

foo://name/12345 
Run Code Online (Sandbox Code Playgroud)

并将其分解为一个字符串和一个无符号整数,其中字符串val是'name'而unsigned int是12345?

我假设算法涉及将NSURL转换为NSString,然后使用NSScanner的某些组件来完成剩下的工作?

iphone objective-c ios

41
推荐指数
3
解决办法
4万
查看次数

直接在vim/mvim/gvim中执行脚本

TextMate有一个很好的功能,允许您从当前上下文中执行脚本,并在单独的窗口中显示输出.这使您可以随时编写和测试代码.我几乎可以肯定MacVim/gVIM有类似的功能,但我不确定它是什么.目前我将缓冲区保存到磁盘,然后转到命令行并在这方面执行脚本.如何使用vim改进该工作流程?

vi vim macvim

39
推荐指数
7
解决办法
4万
查看次数

Rails 4,使用ActiveRecord进行原始查询

目前有一种方法在Rails 4.0.0.beta1中使用ActiveRecord进行原始SQL选择查询吗?我看到ActiveRecord :: Base.execute不再存在.这是怎样的正确方法?

ruby ruby-on-rails

37
推荐指数
3
解决办法
4万
查看次数

Java:预期的标识符

这是什么问题?

class UserInput {
  public void name() {
    System.out.println("This is a test.");
  }
}

public class MyClass {
  UserInput input = new UserInput();
  input.name();
}
Run Code Online (Sandbox Code Playgroud)

抱怨:

<identifier> expected
   input.name();
Run Code Online (Sandbox Code Playgroud)

java

33
推荐指数
4
解决办法
29万
查看次数

使用限制时,使用MongoDB获取总文档数

我有兴趣优化我正在使用MongoDB的"分页"解决方案.我的问题很直接.我通常会限制使用该limit()功能返回的文档数量.这迫使我发出一个没有该limit()函数的冗余查询,以便我也可以捕获查询中的文档总数,这样我就可以将其传递给客户端,让他们知道他们必须发出额外的请求.检索其余文件.

有没有办法将其压缩为1个查询?获取文档总数但同时仅使用limit()?检索子集?是否有不同的方式来思考这个问题,而不是接近它?

pagination mongodb casbah mongodb-query aggregation-framework

33
推荐指数
8
解决办法
2万
查看次数

Django:如何过滤属于特定组的用户

我希望将具有外键的表单字段的查询集缩小到用户表,直到用户所属的组.

这些小组之前已经与我联系过了.该模型可能具有以下内容:

myuser = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)

而我的ModelForm非常简单:

class MyForm(ModelForm):
    class Meta:
        model = MyModel
Run Code Online (Sandbox Code Playgroud)

因此,当我实例化表单时,我在views.py中执行类似的操作:

form = MyForm()
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,我如何获取myuser字段,并过滤它,以便只有'foo'组的用户出现..类似于:

form.fields["myuser"].queryset = ???
Run Code Online (Sandbox Code Playgroud)

SQL中的查询如下所示:

mysql> SELECT * from auth_user INNER JOIN auth_user_groups ON auth_user.id = auth_user_groups.user_id INNER JOIN auth_group ON auth_group.id = auth_user_groups.group_id WHERE auth_group.name = 'client';
Run Code Online (Sandbox Code Playgroud)

我想避免使用原始SQL.有可能这样做吗?

python django

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

如何在IRB/Rails控制台中抑制返回值的输出?

例如,如果我进入IRB并执行以下操作:

jruby-1.6.7 :026 > puts [1,2,3,4,5]
1
2
3
4
5
=> nil 
Run Code Online (Sandbox Code Playgroud)

反正有压制nil吗?问题是,如果我放入一个大型数据结构,它会发送一些其他不相关的返回响应.我更感兴趣的是看到调试语句的输出我在一个块中运行,并且必须不断向上滚动并查找真实数据.

ruby ruby-on-rails irb

31
推荐指数
4
解决办法
9348
查看次数