我有一个应用程序,其中一个事件有_许多视频,它属于一个事件。如何单击视频实例并使用其 event_id 外键将其重定向到 events#show 视图以识别正确的事件?该关联肯定有效,但我正在努力思考逻辑,甚至重定向应该发生在哪里,即在路由、控制器或视图中?
这是一些可能相关的代码:
从视图
<% @video.each do |v| %>
<li><%= link_to image_tag(v.video_thumb('150'), width: 150), v %></li>
<% end %>
class VideosController < ApplicationController
def show
@video = Video.find(params[:id])
if current_event
@videos = current_event.videos
@random_video = current_event.videos.random
else
@videos = Video.all
@random_video = Video.random
end
end
class EventsController < ApplicationController
def show
@event = Event.find_by_name(request.subdomain)
if request.params[:id].present?
@event = Event.find(params[:id])
end
if not @event.nil? and @event.videos.any?
@video = Video.random(@event)
@comment = @video.comments.new
@comments = @video.comments
end
end
resources :events do
match '', to: 'events#show', constraints: lambda { |r| r.subdomain.present? && r.subdomain != 'www' }
end
resources :videos
让我知道您是否可能需要帮助的任何其他代码,我将使用相关代码更新问题。
谢谢你的帮助....