小编Rob*_*all的帖子

替换表达式正文中的参数名称

我正在尝试基于Specification对象动态构建表达式.

我创建了一个ExpressionHelper类,它有一个私有表达式,如下所示:

private Expression<Func<T, bool>> expression;

public ExpressionHelper()
{
    expression = (Expression<Func<T, bool>>)(a => true);
}
Run Code Online (Sandbox Code Playgroud)

然后一些简单的方法如下:

public void And(Expression<Func<T,bool>> exp);
Run Code Online (Sandbox Code Playgroud)

我正在和And方法的身体挣扎.我基本上想要撕掉身体exp,用那些参数替换所有参数expression然后将它附加到expression身体的末端和AndAlso.

我这样做了:

var newBody = Expression.And(expression.Body,exp.Body);

expression = expression.Update(newBody, expression.Parameters);
Run Code Online (Sandbox Code Playgroud)

但最终我的表达看起来像这样:

{ a => e.IsActive && e.IsManaged }
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?或者我怎样才能撕掉那些e并用一个替换它们?

c# linq expression-trees

11
推荐指数
1
解决办法
4077
查看次数

Backbone和Rails嵌套路由

我在rails中定义了以下路由:

resources :accounts do
  resources :transactions
end
Run Code Online (Sandbox Code Playgroud)

这导致网址如下:

/accounts/123/transactions/1
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将其映射到骨干模型设置?

ruby-on-rails backbone.js

10
推荐指数
1
解决办法
5800
查看次数

以编程方式显示MPMoviePlayerController中的控件

我有一个MPMoviePlayerController子类,应该在播放完成后显示控件.我已将响应者附加到MPMoviePlayerPlaybackDidFinishNotification通知并尝试按如下方式设置控件样式:

[self setControlStyle:MPMovieControlStyleEmbedded];
Run Code Online (Sandbox Code Playgroud)

这不起作用.从本质上讲,在视频结尾我想控制显示.如何以编程方式显示控件?

注意:控制器未处于全屏模式.

cocoa-touch objective-c mpmovieplayercontroller ipad

8
推荐指数
1
解决办法
1872
查看次数

不使用Tire :: Model :: Callbacks更新轮胎索引

我已经查看了Tire文档,我知道可以使用Tire创建索引并将对象导入Elasticsearch,而无需使用ActiveModel包含.

我想保持我的模型文件完全清除任何轮胎映射,而不是单独实现它们.

到目前为止,我已经为我的Member模型创建了一个索引对象,如下所示:

class MemberIndexer
  def initialize(member)
    @member = member
  end

  def attributes
    {
      id: @member.id,
      name: @member.full_name,
      age: @member.age,
      birthday: @member.birthday,
      type: 'member'
    }.to_json
  end

  def self.refresh_index
    Tire.index 'members' do
      delete
      create mappings: {
        member: {
          properties: {
            id: { type: 'integer' },
            name: { type: 'string', boost: 5 },
            age: { type: 'integer' },
            birthday: { type: 'date' }
          }
        }
      }

      Member.find_in_batches do |members|
        import members.map { |m| MemberIndexer.new(m).attributes }
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这工作正常,索引已创建,我可以正常搜索.我缺少的是可以通过使用包含的回调Tire::Model::Callbacks.是否可以使用轮胎更新索引中的单个记录而无需包含 …

ruby-on-rails elasticsearch tire

3
推荐指数
1
解决办法
2338
查看次数