Я пытаюсь реализовать форму, связанную с видео, когда создаю новый учебник.Проблема в том, что моя форма не отображается при каждом посещении страницы.Может ли кто-нибудь помочь, пожалуйста?
Это myapp / views / admin / tutorials / new.html.erb
<h2>New Tutorial</h2>
<%= form_for [:admin, @tutorial] do |f| %>
<%= f.label :title %>
<%= f.text_field :title, class: "block col-4 field" %>
<%= f.label :description %>
<%= f.text_area :description, class: "block col-4 field" %>
<%= f.label :thumbnail %>
<%= f.text_field :thumbnail, class: "block col-4 field" %>
<h3>Videos</h3>
<%= f.fields_for :videos do |builder| %>
<%= builder.label :youtube_url %>
<%= builder.text_field :youtube_url, class: "block col-4 field" %>
<%= builder.label :video_id %>
<%= builder.text_field :video_id, class: "block col-4 field" %>
<% end %>
<%= f.submit "Save", class: "mt2 btn btn-primary mb1 bg-teal" %>
<% end %>
Это моя модель видео
class Video < ApplicationRecord
has_many :user_videos
has_many :users, through: :user_videos
belongs_to :tutorial
validates_presence_of :position
end
И мой учебник модель
class Tutorial < ApplicationRecord
has_many :videos, -> { order(position: :ASC) }, dependent: :destroy
acts_as_taggable_on :tags, :tag_list
accepts_nested_attributes_for :videos
scope :without_classroom, -> { where(classroom: false) }
end
Мой контроллер:
class Admin::TutorialsController < Admin::BaseController
def new
@tutorial = Tutorial.new
end
def create
@tutorial = Tutorial.new(tutorial_params)
if @tutorial.save
flash[:success] = "Successfully created tutorial!"
redirect_to tutorial_path(@tutorial)
else
render :new
end
end
def edit
@tutorial = Tutorial.find(params[:id])
end
def update
tutorial = Tutorial.find(params[:id])
if tutorial.update(tutorial_params)
flash[:success] = "#{tutorial.title} tagged!"
end
redirect_to edit_admin_tutorial_path(tutorial)
end
private
def tutorial_params
params.require(:tutorial).permit(:tag_list, :title, :description, :thumbnail)
end
end