私は "userinfos_controller"を持っています。ここでユーザーは情報を保存しています。また、プロフィールに動画をアップロードすることもできます。私は以下のようにuserinfos_controllerのshowメソッドの下でこのビデオを見せています。私は '@myvideo'にユーザーに関連付けられたビデオを取得させます。ユーザーがビデオを削除して再アップロードすると、video_idが変更されるため、video_idを使用してそのビデオを呼び出すことはできません。 .userinfo.last?Video.lastを呼びたくはありません。特定のユーザーが最後にアップロードしたビデオだけでなく、すべてのユーザーにアップロードされた最後のビデオを提供します。また、ビデオはUSER_ID、userinfo_idとVIDEO_IDを持っているので、今、私のショー法の下で、私はとき:。インスタンス変数にrailsの 'id'へのアクセスを与える方法はありますか?
それは私がそれが最後のために見てみたいが、userinfo_idに等しいVIDEO_ID探しdef show
@myvideo = Video.find(params[:userinfo_id])
end
その特定のユーザー/ユーザー情報によってアップロードされたビデオ
My id rela tionships(右より明確に確認するためにクリックして、新しいタブで開いてください):
マイuserinfosコントローラ:
class UserinfosController < ApplicationController
before_action :find_userinfo, only: [:show, :edit, :update, :destroy]
before_action :authenticate_user!
def index
@userinfors = Userinfo.all
@myvideo = Video.all
end
def show
@myvideo = Video.find(params[:userinfo_id])
end
def new
@userinformation = current_user.userinfos.build
end
def create
@userinformation = current_user.userinfos.build(userinfo_params)
if @userinformation.save
redirect_to root_path
else
render 'new'
end
end
def edit
end
def update
end
def destroy
@userinformation.destroy
redirect_to userinfo_path
end
private
def userinfo_params
params.require(:userinfo).permit(:name, :email, :college, :gpa, :major)
end
def find_userinfo
@userinformation = Userinfo.find(params[:id])
end
end
表示するビデオビュー:
<div>
<%= video_tag @myvideo.introvideo_url.to_s, :size => "480x320", :controls =>true %>
</div>
ビデオモデル:
class Video < ActiveRecord::Base
belongs_to :userinfo
belongs_to :user
mount_uploader :introvideo, VideoUploader
end
ユーザー情報モデル:
class Userinfo < ActiveRecord::Base
belongs_to :user
has_many :videos
end
Userモデル:すべてのidのが追加表示さ
class User < ActiveRecord::Base
has_many :vidoes
has_many :userinfos
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
はで関係を追加します。
どちらもあなたが行うようになります君はrモデルでは、画像は本当に理解しにくいです。 –
@SebastiánPalma申し訳ありません。移行とモデルを追加しました。あなたがレールコンソールの写真をはっきりと見ることができないと話しているのであれば、右クリックして新しいタブで開きます。それは良く見えます。たくさんのことがありがとう! – Dinukaperera
@SebastiánPalmaここで助けてください、バディ? https://stackoverflow.com/questions/44292947/how-to-send-user-to-their-profile-as-soon-as-they-sign-in/44293213#44293213 – Dinukaperera