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

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

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

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

0回答

597閲覧

中間テーブルにデータを送れない

shiroyama1992

総合スコア0

Ruby

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2020/12/13 14:57

前提・実現したいこと

userとteamをそれぞれ多対多の関係にして、
teamを新規作成時に
user_idとteam_idを中間テーブルとして用意したteam_usersに保存したいのですが上手くいきません
いろいろと試しているのですがどうしても中間テーブルにデータを保存できませんお助けください

該当のソースコード

ruby

1class User < ApplicationRecord 2 3 has_many :team_users, foreign_key: 'user_id' 4 has_many :teams, through: :team_users

ruby

1class Team < ApplicationRecord 2 3 has_many :team_users, foreign_key: 'team_id' 4 has_many :users, through: :team_users

ruby

1class TeamUser < ApplicationRecord 2 3 belongs_to :user 4 belongs_to :team

ruby

1class TeamsController < ApplicationController 2 3 def new 4 @team = Team.new 5 end 6 7 def create 8 team = Team.new(team_params.merge(user_id: current_user.id)) 9 if team.save 10 redirect_to teams_path, notice: "チーム登録が完了しました" 11 else 12 render new 13 end 14 15private 16 def team_params 17 params.require(:team).permit(:teamname, :area, :introduction, :image, user_ids:[]) 18 end

ruby

1<%= form_for (@team) do |f| %> 2 <%= f.text_field :teamname, placeholder: "チーム名", class: "form-control" %> 3 <%= f.text_field :area, placeholder: "活動エリア", class: "form-control" %> 4<% if @team.image.attached? %> 5 <%= image_tag team.image, :alt => "イメージ", width: '30%', height: '30%' %> 6<% end %> 7 <%= f.file_field :image, class: "form-control floating-label", placeholder: "画像アップロード" %> 8 <%= f.text_field :introduction, placeholder: "チーム紹介", class: "form-control" %> 9 <%= text_field_tag 'team[user_ids]', "#{current_user.id}", type: 'hidden' %> 10 <%= f.submit "チーム登録" %> 11<% end %>

試したこと

https://qiita.com/Kohei_Kishimoto0214/items/cb9a3d3da57708fb52c9

https://no-idea.hateblo.jp/entry/2020/06/26/172148

上記サイトを参考にしてコードを書きましたが中間テーブルには保存できませんでした

補足情報(FW/ツールのバージョンなど)

ruby 2.5.1p57
Rails 5.2.4.4

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

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

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

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

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

rysh

2020/12/14 06:35

中間テーブル以前のところで、シンプルなインサートやアップデートはできてますか?
shiroyama1992

2020/12/16 23:02

返信ありがとうございます 私はプログラミング初心者でインサートやアップデートと言われても何に対して言われているのか分かりません。 SQLについてのご指摘でしょうか? DBはMySQLで、phpmyadminを使っています。
rysh

2020/12/16 23:21

言い直すと、UserやTeamの新規作成はプログラミングからできましたか?
shiroyama1992

2020/12/17 01:55

なるほど、説明ありがとうございます。 rails g でモデルやコントローラーを作成しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問