UserとTweetのモデル1対多で関連付けをしたうえでデータを作成したいです。
外部キーをid以外で指定したい場合、どうすればいいでしょうか?
#### controllers/tweets_controller.rb class TweetsController < ApplicationController def new @tweet = current_user.tweets.new end def create @tweet = current_user.tweets.new(tweet_params) @tweet.tweet_id = SecureRandom.hex(10) if @tweet.save redirect_to root_path, notice: "ツイートしました" else render :new end end def show end private def tweet_params params.require(:tweet).permit(:tweet_body) end end
ruby
1#### models/user.rb 2class User < ApplicationRecord 3 has_many :tweets 4end
ruby
1#### models/tweet.rb 2class Tweet < ApplicationRecord 3 belongs_to :user 4end
current_userでログインユーザー(Userモデル)を取得しています。
テーブルは
・User
id | user_name | created_at | updated_at |
---|
・Tweet
|id|tweet_id|tweet_body|created_user_id|created_at|updated_at|
|:--|:--:|--:|--:|--:|
となっています。
Userテーブルのidと、Tweetテーブルのcreated_user_idを紐づけたいです。
モデルのhas_manyやbelongs_toで「primary_key」と「foreign_key」をどうにかすればいいのだと思うのですが、
Railsチュートリアルを見てもよく分かりません。ご教授お願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/23 23:16
2020/01/24 01:18