Simple Calendarにて
記事投稿→カレンダー投稿画面(create)→カレンダーに反映という事を行いたいのですが、
現状、記事投稿は出来ていて、そこから記事投稿のタイトルデータを抜き出してカレンダー投稿画面にタイトルのみデータを表示取得させたいです。
※こちらの画面ではTitleが入力フォームになっていますがこのTitleを、記事のTitleを取得したいです。
1、
- @tweets.each do |tweet|
このようなエラーが出ました。
blog(カレンダー)とtweet(記事)のアソシエーションとして
はこのように組んでいます。
blogのdb(データベース)はこちらになります。
ruby
1create_table :blogs do |t| 2 t.string :title 3 t.text :content 4 t.datetime :start_time 5 6 t.references :user, foreign_key: true 7 t.references :tweet, foreign_key: true 8 t.string :tweet_title 9 t.timestamps 10end
blog_controllerはこちらになります。
rails
1class BlogsController < ApplicationController 2 3def index 4@blogs = Blog.all 5end 6 7def new 8@blog = Blog.new 9end 10 11def show 12@blog = Blog.find(params[:id]) 13end 14 15def create 16@blog = current_user.blogs.new(blog_parameter) 17if @blog.save 18redirect_to blogs_path 19else 20redirect_to new_blog_path 21end 22end 23 24def destroy 25@blog = Blog.find(params[:id]) 26@blog.destroy 27redirect_to blogs_path, notice:"削除しました" 28end 29 30def edit 31@blog = Blog.find(params[:id]) 32end 33 34def update 35@blog = Blog.find(params[:id]) 36if @blog.update(blog_parameter) 37redirect_to blogs_path, notice: "編集しました" 38else 39render 'edit' 40end 41end 42 43private 44 45def blog_parameter 46params.require(:blog).permit(:title, :content, :start_time) 47end 48 49end
tweet_controllerはこちらになります。
rails
1class TweetsController < ApplicationController 2before_action :set_tweet, only: [:edit, :show] 3before_action :move_to_index, except: [:index, :show, :search] 4 5def index 6@tweets = Tweet.includes(:user) 7end 8 9def new 10@tweet = Tweet.new 11end 12 13def create 14Tweet.create(tweet_params) 15end 16 17def destroy 18tweet = Tweet.find(params[:id]) 19tweet.destroy 20end 21 22def edit 23end 24 25def update 26tweet = Tweet.find(params[:id]) 27tweet.update(tweet_params) 28end 29 30def show 31@comment = Comment.new 32@comments = @tweet.comments.includes(:user) 33end 34 35def search 36@tweets = Tweet.search(params[:keyword]) 37end 38 39private 40def tweet_params 41params.require(:tweet).permit( :title, :text, :image).merge(user_id: current_user.id) 42end 43 44def set_tweet 45@tweet = Tweet.find(params[:id]) 46end 47 48def move_to_index 49redirect_to action: :index unless user_signed_in? 50end 51 52end
記事投稿の際に他のページだとビューの表示は出来ました。
ご回答いただければ幸いです。
未熟者ですがよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/26 02:42 編集
2020/07/26 03:07 編集
2020/07/26 03:02
2020/07/26 03:08