Add column CountryState#native_name
This commit is contained in:
parent
3820d8d4f2
commit
e3fad3a7d3
|
@ -8,4 +8,6 @@ class CountryState < ApplicationRecord
|
|||
validates :name, presence: true, uniqueness: true
|
||||
|
||||
validates :english_name, presence: true, uniqueness: true
|
||||
|
||||
validates :native_name, presence: true, uniqueness: true
|
||||
end
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
<th scope="col">
|
||||
<%= CountryState.human_attribute_name :english_name %>
|
||||
</th>
|
||||
<th scope="col">
|
||||
<%= CountryState.human_attribute_name :native_name %>
|
||||
</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -17,6 +20,7 @@
|
|||
<tr>
|
||||
<td><%= country_state.name %></td>
|
||||
<td><%= country_state.english_name %></td>
|
||||
<td><%= country_state.native_name %></td>
|
||||
<td>
|
||||
<% if policy(country_state).show? %>
|
||||
<%= link_to country_state,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="container">
|
||||
<h1>
|
||||
<%= @country_state.name %>
|
||||
<%= @country_state.native_name %>
|
||||
<br/>
|
||||
<small class="text-muted">
|
||||
<%= @country_state.english_name %>
|
||||
|
|
|
@ -37,6 +37,7 @@ en:
|
|||
membership_apps: Membership applications
|
||||
name: Name
|
||||
english_name: Name
|
||||
native_name: Name
|
||||
membership_app:
|
||||
id: ID
|
||||
country_state: State
|
||||
|
|
|
@ -37,6 +37,7 @@ ru:
|
|||
membership_apps: Заявления на вступление
|
||||
name: Название
|
||||
english_name: Название
|
||||
native_name: Название
|
||||
membership_app:
|
||||
id: ID
|
||||
country_state: Регион
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddNativeNameToCountryStates < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
# rubocop:disable Rails/NotNullColumn
|
||||
add_column :country_states, :native_name, :string, null: false
|
||||
add_index :country_states, :native_name, unique: true
|
||||
# rubocop:enable Rails/NotNullColumn
|
||||
end
|
||||
end
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2019_03_24_204513) do
|
||||
ActiveRecord::Schema.define(version: 2019_03_24_210722) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -64,8 +64,10 @@ ActiveRecord::Schema.define(version: 2019_03_24_204513) do
|
|||
t.datetime "updated_at", null: false
|
||||
t.string "name", null: false
|
||||
t.string "english_name", null: false
|
||||
t.string "native_name", null: false
|
||||
t.index ["english_name"], name: "index_country_states_on_english_name", unique: true
|
||||
t.index ["name"], name: "index_country_states_on_name", unique: true
|
||||
t.index ["native_name"], name: "index_country_states_on_native_name", unique: true
|
||||
end
|
||||
|
||||
create_table "membership_apps", force: :cascade do |t|
|
||||
|
|
|
@ -10,7 +10,7 @@ CSV.foreach country_states_filename, col_sep: '|' do |(name, english_name)|
|
|||
|
||||
next if CountryState.where(name: name).exists?
|
||||
|
||||
CountryState.create! name: name, english_name: english_name
|
||||
CountryState.create! name: name, english_name: english_name, native_name: name
|
||||
end
|
||||
|
||||
Rails.application.settings(:superuser).tap do |config|
|
||||
|
|
|
@ -8,5 +8,6 @@ FactoryBot.define do
|
|||
|
||||
name { Faker::Address.unique.state }
|
||||
english_name { Faker::Address.unique.state }
|
||||
native_name { Faker::Address.unique.state }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,7 +21,9 @@ RSpec.describe CountryState do
|
|||
|
||||
it { is_expected.to validate_presence_of :name }
|
||||
it { is_expected.to validate_presence_of :english_name }
|
||||
it { is_expected.to validate_presence_of :native_name }
|
||||
|
||||
it { is_expected.to validate_uniqueness_of :name }
|
||||
it { is_expected.to validate_uniqueness_of :english_name }
|
||||
it { is_expected.to validate_uniqueness_of :native_name }
|
||||
end
|
||||
|
|
Reference in New Issue