2

カテゴリ化と呼ばれるカテゴリ/ビデオ投稿の結合テーブルを設定しようとしています。すべて問題ないように見えますが、create video_form が送信されると、結合テーブルにデータが入力されません。まず、以下のフォームに何か問題がありますか? 選択フィールドが実際にそのテーブル用であることを知るために、他に何かする必要がありますか?

    video_posts/_form.html.erb

    <%= form_for('video_post', url: video_posts_path) do |f| %>
      <%= f.text_field :video_title, placeholder: "Video Title"  %>
      <%= f.select :id, Category.all.collect { |c| [c.category_name, c.id] }, {:include_blank => true} %>
      <%= f.text_area :video_description, placeholder: "Description" %>
      <%= f.text_field :video_url, placeholder: "URL" %>
      <%= f.submit "Post", class: "submit" %>
    <% end %>

以下は私のモデルです。

class Categorization < ActiveRecord::Base
      belongs_to :categories
      belongs_to :video_posts
    end

    class Category < ActiveRecord::Base
      attr_accessible :category_name

      has_many :categorizations
      has_many :video_posts, :through => :categorizations

    end


    class VideoPost < ActiveRecord::Base
    has_many :categorizations
      has_many :categories, :through => :categorizations

    end

これが作成機能です。

  def create
    post_paginate
    @video_post = current_user.video_posts.build(params[:video_post])
    if @video_post.save
      flash[:success] = "Video posted!"
      redirect_to root_path
    else
      flash[:success] = "Errors found! Please try again."
      index
      render :index
    end 
  end 

どうもありがとうございました。

4

0 に答える 0