Существует ли способ объединиться названный объемами в новый именованный объем?

У меня была та же проблема с зависимостью greendao-generator. Я ошибочно добавил, что зависимость от моего build.gradle (compile 'org.greenrobot:greendao-generator:3.1.0') и AndroidStudio показала мне то же сообщение об ошибке.

Вероятно, это потому, что этот модуль был скомпилирован с Java 8.

Поэтому я удалил эту зависимость из моего build.gradle и все скомпилировано счастливо:)

7
задан user2262149 16 August 2018 в 21:00
поделиться

4 ответа

Хорошо я все еще плохо знаком с направляющими, и я не уверен точно, для чего Вы идете сюда, но если Вы просто идете для повторного использования кода, почему бы не использовать регулярный метод класса?


        def self.ab(a, b)
            a(a).b(b)
        end
    

Вы могли сделать это более гибким путем взятия *args вместо a и b, и затем возможно сделать один или другое дополнительное. Если Вы застреваете на named_scope, разве Вы не можете расширить его, чтобы сделать почти такую же вещь?

Сообщите мне, полностью ли я от основы с тем, что Вы желаете сделать.

2
ответ дан 6 December 2019 в 19:45
поделиться

@PJ: Вы знаете, я полагал, что, но отклонил его, потому что я думал, что не смогу к более поздней цепочке на трети, названной объемом, как так:

Foo.ab(x, y).c(z)

Но с тех пор ab(x, y) возвраты вообще b(y) возвратился бы, я думаю, что цепочка работала бы. Способ заставить меня заново продумать очевидное!

0
ответ дан 6 December 2019 в 19:45
поделиться

Сделав его методом класса, вы не сможете связать его с прокси-сервером ассоциации, например:

@category.products.ab(x, y)

Альтернативой является применение этого патча для включения Параметр: through для named_scope:

named_scope :a, :conditions => {}
named_scope :b, :conditions => {}
named_scope :ab, :through => [:a, :b]
1
ответ дан 6 December 2019 в 19:45
поделиться

Да Повторное использование named_scope для определения другого named_scope

Я копирую это сюда для вашего удобства:

Вы можете использовать proxy_options для переработки одного named_scope в другой:

class Thing
  #...
  named_scope :billable_by, lambda{|user| {:conditions => {:billable_id => user.id } } }
  named_scope :billable_by_tom, lambda{ self.billable_by(User.find_by_name('Tom').id).proxy_options }
  #...
end

Таким образом, он может быть связан с другими named_scope.

Я использую это в своем коде, и он отлично работает.

Надеюсь, это поможет.

1
ответ дан 6 December 2019 в 19:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: