데이터베이스에 의존하지 않고 드롭다운 메뉴를 만드는 방법.

gem "active_hash"


도도부현과 분류 등 앞으로 늘어나지 않을 데이터는
active_해시로 할 수 있어요.
제가 실제로 만든 도도부현에 대한 드롭다운 메뉴.
순서대로 설명해 주세요.
일단 active.hash를 사용하기 위해gem를 설치합니다.
Gemfile
gem 'active_hash'
콘솔
$ bundle install
그런 다음 모델을 생성합니다.
열도 함께 작성됩니다.
콘솔
$ rails g model Address prefecture_id:integer city:string
이어서
콘솔
$ rake db:create
$ rake db:migreate
하면, 만약, 만약...
create가 필요하지 않습니다.
"rake db:migreate"에서 만든 파일
아래와 같이 서술하다.
그 다음에 만들어진 Prefecture 모형.
ActiveHash: Base를 상속하는 데 사용되는 기술입니다.
belongs_to_active_hash 방법으로 연결을 조립합니다.
app/models/address.rb
class Address < ApplicationRecord
  extend ActiveHash::Associations::ActiveRecordExtensions
  belongs_to_active_hash :prefecture
end
그런 다음 Prefecture 모델을 만듭니다.
모델 만들 때 "rails g model~"
active_해시로 할 때 수동으로 해.
모델 폴더를 오른쪽 단추로 눌러서prefecture를 진행합니다.만들다
그리고 아래의 기술을 쓰시오.
베이스를 물려받았으니까.
ActiveRecord 방법을 사용하여 정보를 끌어낼 수 있습니다.
app/models/prefecture.rb
class Prefecture < ActiveHash::Base
  self.data = [
      {id: 1, name: '北海道'}, {id: 2, name: '青森県'}, {id: 3, name: '岩手県'},
      {id: 4, name: '宮城県'}, {id: 5, name: '秋田県'}, {id: 6, name: '山形県'},
      {id: 7, name: '福島県'}, {id: 8, name: '茨城県'}, {id: 9, name: '栃木県'},
      {id: 10, name: '群馬県'}, {id: 11, name: '埼玉県'}, {id: 12, name: '千葉県'},
      {id: 13, name: '東京都'}, {id: 14, name: '神奈川県'}, {id: 15, name: '新潟県'},
      {id: 16, name: '富山県'}, {id: 17, name: '石川県'}, {id: 18, name: '福井県'},
      {id: 19, name: '山梨県'}, {id: 20, name: '長野県'}, {id: 21, name: '岐阜県'},
      {id: 22, name: '静岡県'}, {id: 23, name: '愛知県'}, {id: 24, name: '三重県'},
      {id: 25, name: '滋賀県'}, {id: 26, name: '京都府'}, {id: 27, name: '大阪府'},
      {id: 28, name: '兵庫県'}, {id: 29, name: '奈良県'}, {id: 30, name: '和歌山県'},
      {id: 31, name: '鳥取県'}, {id: 32, name: '島根県'}, {id: 33, name: '岡山県'},
      {id: 34, name: '広島県'}, {id: 35, name: '山口県'}, {id: 36, name: '徳島県'},
      {id: 37, name: '香川県'}, {id: 38, name: '愛媛県'}, {id: 39, name: '高知県'},
      {id: 40, name: '福岡県'}, {id: 41, name: '佐賀県'}, {id: 42, name: '長崎県'},
      {id: 43, name: '熊本県'}, {id: 44, name: '大分県'}, {id: 45, name: '宮崎県'},
      {id: 46, name: '鹿児島県'}, {id: 47, name: '沖縄県'}
  ]
end
이상에서 데이터베이스를 사용하지 않으면 도도부현의 데이터를 내보낼 수 있다.
드롭다운 메뉴를 뷰로 표현해야 돼요.
다음은 다음과 같다.
prefecture.rb가 정의한 것,Prefecture.올로 통일된 거지?
app/views/〇〇.html.haml
= f.collection_select :prefecture_id, Prefecture.all, :id, :name, prompt: "---", class: 'クラス名'

이런 드롭다운 메뉴를 만들 수 있어요!
여기가 다르면...
꼭 댓글 남겨주세요!

좋은 웹페이지 즐겨찾기