首先,我是rails的新手。我想在我的数据库中创建一个country.list表,所以我在https://github.com/mm1/country-list的github上找到了一个很棒的插件,所以我想出了如何安装它。我在我的应用程序根目录中运行了以下命令:rails plugin install https://github.com/mm1/country-list
,它在vendor / plugins文件夹中安装了该插件。现在我想用它来生成country-list表,我该如何使它工作?
答案 0 :(得分:0)
运行rake db:migrate,你将拥有一个使用该插件的模型国家/地区。 所以你可以在任何你想要的地方使用这个模型的属性
网站中提到的模型国家/地区的属性是ISO 3166的名称,iso2,iso3和数字
所以无论你想在哪个地方使用这个模型,你都可以提供类似
的东西country = Country.all
country_name = country.find(id).name # id can be any unique attribute
答案 1 :(得分:0)
您尝试使用的插件非常陈旧。尝试类似carmen的内容。它与您定位的Rails版本兼容,并且具有许多不错的功能。
答案 2 :(得分:0)
如果查看源代码,生成器实际上并没有做太多。您可以手动轻松地重新创建这些步骤。这就是它的作用:
# check if "migrate" folder exists
#if not then create the folder
migrations_directory_path = "#{RAILS_ROOT}/db/migrate"
Dir.mkdir(migrations_directory_path) unless File.directory?(migrations_directory_path)
#copy countries migration
record do |m|
m.file 'migrations/create_countries.rb', "db/migrate/{Time.now.strftime("%Y%m%d%H%M%S")}_create_countries.rb"
end
它所做的只是将迁移文件复制到新位置!你可以自己从irb:
开始File.copy("plugins/country-list/generators/countries_list/templates/migrations/create_countries.rb", "db/migrate/#{Time.now.strftime("%Y%m%d%H%M%S")}_create_countries.rb")
提供的模型实际上并不包含任何东西,它只是一个骨架:
class Country < ActiveRecord::Base
end