Решение Богдана Литеску прекрасно работает, хотя я бы также проверил, можете ли вы написать в собственность.
foreach (var property in srcFields) {
var dest = destFields.FirstOrDefault(x => x.Name == property.Name);
if (dest != null)
if (dest.CanWrite)
dest.SetValue(obj, property.GetValue(otherObject, null), null);
}
In Rails 3 and Rails 4, use bundle show
In Rails 2, rake gems
will print out what gems, dependencies, and versions are installed, frozen, etc.
Вероятно, есть более прямой способ узнать это, но если вы загружаете консоль и требуете конкретную версию, например:
gem 'RedCloth', '3.0.4'
Он сообщит вам, какая версия уже активирована:
=> Gem::LoadError: can't activate RedCloth (= 3.0.4, runtime) for [], already activated RedCloth-4.2.2
Попробуйте использовать скрипт / about
. В вашем config / environment.rb
также есть информация об этом.
В вашем config / environment.rb
вы можете указать, какая версия конкретного gem
приложение должно использовать. Однако, если на вашем компьютере установлено несколько версий гема
, и вы не укажете версию, приложение будет использовать последнюю версию этого гема.
script / about
расскажет, какие версии основных гемов Rails и Rack вы используете, но не что-нибудь еще. В идеале, если вы посмотрите в config / environment.rb
, там должен быть раздел, который выглядит следующим образом:
# Specify gems that this application depends on and have them installed with rake gems:install
# config.gem "bj"
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
# config.gem "sqlite3-ruby", :lib => "sqlite3"
# config.gem "aws-s3", :lib => "aws/s3"
Если повезет, автор приложения включит туда все необходимые геммы и версии. Однако версии не являются обязательными в этом файле, и в конечном итоге ничто не мешает неопытному разработчику просто указать require 'rubygems'; требовать 'some_random_thing'
в верхней части любого заданного файла.
Если вы видите, что гем требуется, но версия не указана, вы можете ввести список драгоценных камней
, чтобы увидеть все версии всех драгоценных камней в системе. По умолчанию будет использоваться последняя доступная версия.