質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

915閲覧

ActiveHash実装時のNameError

yu-kou

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/04/23 12:00

ActiveHash実装
イメージ説明

アソシエーションが組めていないためかidが流れていない状態かと思っています。
が、解決が私には難しく、お力をお借りできれば幸いです。

ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin20]
rails -v: Rails 6.0.3.6
gem -v: 3.0.3

試したこと
再bundle install

rails c
irb(main):001:0> @area_record_1
=> nil
irb(main):002:0> @area
=> nil
確認

routes.rb

devise_for :users root to: "youtube_vact#index" resources :youtube_vact , only: [:new, :create, :index, :show] do resource :user_skills, only: [:edit] end end

models/user_skill.rb

class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable validates :name, presence: true has_many :user_skills end

models/user.rb

class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable validates :name, presence: true has_many :user_skills end

edit.html.erb

<form class="form" action="#" method="post"> <textarea name="introduction" cols="30" rows="5"></textarea></p> <div class="form-group"> <label for="password">エリア</label> <%= f.collection_select(:area_id, Area.all, :id, :name, {}, {class:"select-box", id:"user-area"}) %> </div> <p><input type="submit" value="編集完了"></p> </form>

models/area.rb

class Area < 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: '鹿児島県'}, {id: 48, name: '沖縄県'} ] include ActiveHash::Associations has_many :user_skills end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2021/04/23 12:28

「f.collection_select」と記述していますが、「f」はどこから来ていますか (どこで宣言されてますか)
guest

回答1

0

<form class="form" action="#" method="post">
が頂けません。
<%= form_with .... do |f| %> を使ってください

投稿2021/04/23 14:37

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問