После прочтения документации и некоторых царапин на голове я смог определить значения по умолчанию для параметров, которые не были переданы в шаблон.
# in views/shared/template.html.erb
<% my_param = 'default_value' unless binding.local_variable_defined?(:my_param) %>
# Now you can call the partial with or without setting `my_param`
# Now you can call the partial without parameters...
<%= render 'shared/my_template' %>
# ...or with parameters
<%= render 'shared/my_template', my_param: 'non-default value' %>
Проверено на Ruby 2.3.1 и выше.
Вы могли бы хотеть подтвердить, что все dlls правильно регистрируются (см. http://msdn.microsoft.com/en-us/library/bb961987.aspx).
Регистрация WMI все сохранена в WMI (статические классы.
WMI Studio CIM (часть Инструментов WMI от MS, IIRC) полезен для исследования этих классов (и конечно легче, чем запись большого количества запросов).
В операционных системах с контролем учетных записей отключите UAC.
В моем случае: ответ Росс о не разрешился. Я мог загрузить некоторых поставщиков WMI (логический диск), но не других (IIS). Инструменты проводника WMI (такие как PowerGui) покажут поставщика. Это говорит о том, что политика безопасности может предотвратить загрузку поставщиков WMI. После отключения UAC все поставщики WMI загружались без ошибок.
Конечно, вы можете оставить UAC включенным. Я обновлю этот ответ, если найду требуемые правила.
Итак, я знаю, что эта тема старая, но у меня была точно такая же проблема, как описана выше. Мне было очень сложно разобраться в ней, поэтому я решил ответить в надежде, что это поможет кому-то еще.
Я пытался загрузить IIS WMI Provider и получал ошибку "Provider Load Failure". Я смог воспроизвести проблему, выполнив свой WMI запрос с помощью программы wbemtest.exe.
Я запустил procmon.exe, чтобы показать, что загружается (или не загружается в моем случае), и, конечно, wmiprvse. exe загружал ключ реестра, который говорил, что inetsrv находится в каталоге C:\windows - который не существовал на моей машине (C:\windows был заменен на c:\winnt)
Обновление ключа решило мою проблему, но главное здесь то, что я чертовски долго пытался понять, почему я получаю эту ошибку, а запуск procmon во время выполнения моего WMI запроса направил меня прямо к проблеме. Надеюсь, это поможет и вам.