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

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

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

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

Ruby on Rails

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

HTML

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

Q&A

0回答

827閲覧

user_showページに使っているプロフィール画面をtweets_index画面にも適応したい

yastinbieber

総合スコア49

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

Ruby on Rails

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

HTML

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

0グッド

0クリップ

投稿2020/03/11 08:45

編集2022/01/12 10:55

user_showページに使っているプロフィール画面をどうページの下記にtweets_index画面にも適応したいです。

現状、users_showページに指定しているプロフィール写真は他にどこにも適応しておらず仮に指定したアイコンになっています。

またuserで指定した写真がtweets_indexに適応されなかったため一旦別写真を適応させております。

これをusers_showで指定した場合その写真をtweets_indexでも適応したいのですがどなたかやり方をご教授いただけますと幸いです。

スクショとコードを貼らせていただきます。

■users_show画面
イメージ説明

■tweets_index画面
イメージ説明

ruby

1 2##users_show.html.erb 3<div class="contents-box"> 4 <div class="AAABBB"> 5 <div class="AAA"> 6 <% if @user.image.nil? %> 7 <%= image_tag 'mypage.png', class: 'image' %> 8 <% else %> 9 <%= image_tag rails_blob_path(@user.image), class: 'image' %> 10 <% end %> 11 </div> 12 <div class="BBB"> 13 <p>@<%= @nickname %></p> 14 <% if current_user.id == @user.id %> 15 <%= link_to "プロフィール編集", edit_user_path(current_user), {:class => "btn3" } %> 16 <% end %> 17 <br><a>????<%= link_to @user.website, (@user.website) %></a><br> 18 <br><span><%= @user.selfintroduction %></span> 19 </div> 20 </div> 21 <div class="slick1"> 22 <p><%= @nickname %>さんのタイムライン投稿一覧</p><br> 23 <% @tweets.each do |tweet| %> 24 <%= render partial: "tweets/tweet", locals: { tweet: tweet } %> 25 <% end %> 26 <p><%= @nickname %>さんの捜索投稿一覧</p><br> 27 <% @locates.each do |locate| %> 28 <%= render partial: "locates/locate", locals: { locate: locate } %> 29 <% end %> 30 <p><%= @nickname %>さんの保護投稿一覧</p><br> 31 <% @keeps.each do |keep| %> 32 <%= render partial: "keeps/keep", locals: { keep: keep } %> 33 <% end %> 34 </div> 35 <script src="slick.min.js"></script> 36 <script type="text/javascript"> 37 $(function(){ 38 $('.slick1').slick({ 39 autoplay: true, 40 dots: true, 41 }); 42 }); 43 </script> 44</div>

rails

1 2##tweets_tweet.html.erb 3 <div class="contents_post"> 4 <div class="content_post"> 5 <div class="pf"> 6 <p><%= image_tag 'mypage.png' %></p> 7 <a href="/users/<%= tweet.user_id %>"> 8 <p>@<%= tweet.user.nickname %></p> 9 </a> 10 </div> 11 <div class="more"> 12 <ul id="more_list"> 13 <li><%= image_tag 'arrow_top.png' %> 14 <ul> 15 <li><%= link_to '詳細', "/tweets/#{tweet.id}", method: :get %></li> 16 <li><%= link_to '編集', "/tweets/#{tweet.id}/edit", method: :get %></li> 17 <li><%= link_to '削除', "/tweets/#{tweet.id}", method: :delete %></li> 18 </ul> 19 </li> 20 </ul> 21 </div> 22 </div> 23 <div class="content_pic" style="background-image: url(<%= tweet.image %>);"> 24 <p><%= simple_format(tweet.catchphrase) %></p> 25 </div> 26 </div>

ruby

1 2##users_controller 3class UsersController < ApplicationController 4 def show 5 @user = User.find(params[:id]) 6 @nickname = @user.nickname 7 @tweets = @user.tweets.page(params[:page]).per(30).order("created_at DESC") 8 @locates = @user.locates.page(params[:page]).per(30).order("created_at DESC") 9 @keeps = @user.keeps.page(params[:page]).per(30).order("created_at DESC") 10 end 11 12 def edit 13 @user = User.find(params[:id]) 14 end 15 16 def update 17 current_user.update(update_params) 18 end 19 20 private 21 def update_params 22 params.require(:user).permit(:nickname, :website, :selfintroduction, :image) 23 end 24end

ruby

1 2##tweets_controller 3class TweetsController < ApplicationController 4 5 before_action :move_to_index, expect: :index #indexが読み込まれる前に:move_to_indexが読み込まれる 6 7 def index 8 @tweets = Tweet.includes(:user).page(params[:page]).per(30).order("created_at DESC") 9 end 10 11 def new 12 @tweet = Tweet.new 13 end 14 15 def create 16 Tweet.create(image: tweet_params[:image], catchphrase: tweet_params[:catchphrase], text: tweet_params[:text], user_id: current_user.id) 17 end 18 19 def destroy 20 tweet = Tweet.find(params[:id]) 21 if tweet.user_id == current_user.id 22 tweet.destroy 23 end 24 end 25 26 def edit 27 @tweet = Tweet.find(params[:id]) 28 end 29 30 def update 31 tweet = Tweet.find(params[:id]) 32 if tweet.user_id == current_user.id 33 tweet.update(tweet_params) 34 end 35 end 36 37 def show 38 @tweet = Tweet.find(params[:id]) 39 @comments = @tweet.comments.includes(:user) 40 end 41 42 private 43 def tweet_params 44 params.require(:tweet).permit(:image, :catchphrase, :text) 45 end 46 47 def move_to_index 48 redirect_to action: :index unless user_signed_in? 49 end 50end

ruby

1 2##user.rb 3class User < ApplicationRecord 4 # Include default devise modules. Others available are: 5 # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable 6 has_one_attached :image 7 8 devise :database_authenticatable, :registerable, 9 :recoverable, :rememberable, :validatable 10 has_many :tweets 11 has_many :comments 12 has_many :locates 13 has_many :locatecomments 14 has_many :keeps 15 has_many :keepcomments 16end

ruby

1 2##tweet.rb 3class Tweet < ApplicationRecord 4 belongs_to :user 5 has_many :comments 6 7end 8

説明等うまく伝えることができず申し訳ございません。
何卒よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問