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

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

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

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby

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

Ruby on Rails 6

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

2190閲覧

rails 6 Simple Calendarにカレンダー投稿画面に記事が全て表示される。

rrtts667

総合スコア18

Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby

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

Ruby on Rails 6

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2020/07/26 09:23

編集2020/07/26 11:31

rails 6 Simple Calendarに記事投稿後、カレンダーに反映させたい。
ということですが現状
投稿画面に記事全てが反映されている。
イメージ説明

haml

1= form_with(model: @blog, local: true) do |form| 2 .title 3 - @tweets.each do |tweet| 4 = tweet.title 5 = image_tag tweet.image.url 6 = tweet.text 7 .time 8 = form.label :start_time 9 = form.datetime_select :start_time 10 .content 11 = form.label :content 12 = form.text_field :content 13 .submit 14 = form.submit 15

それを記事一つに対してカレンダーに一つ投稿させるようにしたい。
※この状態からカレンダーに投稿するとこのようになります。
イメージ説明

haml

1 2%p#notice= notice 3%h1 自分の日記 4%table 5 %thead 6 %tr 7 %th タイトル 8 %th 時間 9 %th{:colspan => "3"} 10 %tbody 11 - @tweets.each do |tweet| 12 %tr 13 %td= tweet.title 14 - @blogs.each do |blog| 15 %td= blog.start_time.strftime("%Y-%m-%d %H:%M") 16 %td= link_to 'Show', tweet 17 %td= link_to 'Edit', edit_blog_path(blog.id) 18 %td= link_to 'Destroy',blog_path(blog.id), method: :delete, data: { confirm: 'Are you sure?' } 19%br/ 20= link_to '日記をかく', new_blog_path 21= month_calendar events: @blogs do |date, blogs| 22 = date.day 23 - @tweets.each do |tweet| 24 %div 25 = link_to tweet.title, tweet 26

blogs_controller

rails

1class BlogsController < ApplicationController 2 3 def index 4 @blogs = Blog.all 5 @tweets = Tweet.includes(:user) 6 end 7 8 def new 9 @blog = Blog.new 10 @tweets = Tweet.includes(:user) 11 end 12 13 def show 14 @blog = Blog.find(params[:id]) 15 end 16 17 def create 18 @blog = current_user.blogs.new(blog_parameter) 19 if @blog.save 20 redirect_to blogs_path 21 else 22 redirect_to new_blog_path 23 end 24 end 25 26 def destroy 27 @blog = Blog.find(params[:id]) 28 @blog.destroy 29 redirect_to blogs_path, notice:"削除しました" 30 end 31 32 def edit 33 @blog = Blog.find(params[:id]) 34 end 35 36 def update 37 @blog = Blog.find(params[:id]) 38 if @blog.update(blog_parameter) 39 redirect_to blogs_path, notice: "編集しました" 40 else 41 render 'edit' 42 end 43 end 44 45 private 46 47 def blog_parameter 48 params.require(:blog).permit(:title, :content, :start_time) 49 end 50 51end

tweets_controller

rails

1class TweetsController < ApplicationController 2 before_action :set_tweet, only: [:edit, :show] 3 before_action :move_to_index, except: [:index, :show, :search] 4 5 def index 6 @tweets = Tweet.includes(:user) 7 end 8 9 def new 10 @tweet = Tweet.new 11 end 12 13 def create 14 Tweet.create(tweet_params) 15 end 16 17 def destroy 18 tweet = Tweet.find(params[:id]) 19 tweet.destroy 20 end 21 22 def edit 23 end 24 25 def update 26 tweet = Tweet.find(params[:id]) 27 tweet.update(tweet_params) 28 end 29 30 def show 31 @comment = Comment.new 32 @comments = @tweet.comments.includes(:user) 33 end 34 35 def search 36 @tweets = Tweet.search(params[:keyword]) 37 end 38 39 private 40 def tweet_params 41 params.require(:tweet).permit( :title, :text, :image).merge(user_id: current_user.id) 42 end 43 44 def set_tweet 45 @tweet = Tweet.find(params[:id]) 46 end 47 48 def move_to_index 49 redirect_to action: :index unless user_signed_in? 50 end 51 52end 53

長々となってしまい申し訳ございません。
解決したいことと致しましては
1、カレンダー投稿の際に現状、全て表示されているので選択した記事のみカレンダー投稿させたい。
2、カレンダーの投稿の際に全ての日付の所に投稿されている為、選択した日付の所のみ投稿表示させたい。

お手数ですがご教授頂けたら幸いです。よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Hamlファイルの

  • @tweets.each do |tweet|
    %div
    = link_to tweet.title, tweet
  • blogs.each do |tweet|
    %div
    = link_to tweet.title, tweet
    にするのはどうでしょう?

投稿2020/08/10 22:10

KoutaNakajima

総合スコア7

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問