i использовать рельсы 5, простую форму. в моем приложении есть модель категории, и есть модель OnlineProduct. Я не знаю, почему, когда я хочу добавить некоторые категории в свою таблицу ассоциации OnlineProduct, они остаются пустыми и не меняются.рельсы: ассоциация tabel (has_and_belongs_to_many) не сохраняет записи
Категория Модель:
class Category < ApplicationRecord
has_ancestry
has_and_belongs_to_many :internet_products
end
InternetProduct модель:
class InternetProduct < ApplicationRecord
belongs_to :user
belongs_to :business
has_and_belongs_to_many :categories
end
InternetProduct контроллер:
def new
@internet_product = InternetProduct.new
end
def create
@internet_product = InternetProduct.new(internet_product_params)
respond_to do |format|
if @internet_product.save
format.html { redirect_to @internet_product, notice: 'Internet product was successfully created.' }
format.json { render :show, status: :created, location: @internet_product }
else
format.html { render :new }
format.json { render json: @internet_product.errors, status: :unprocessable_entity }
end
end
end
private:
def internet_product_params
params.require(:internet_product).permit(:name, :description, :mainpic, :terms_of_use,
:real_price, :price_discount, :percent_discount,
:start_date, :expire_date, :couponـlimitation, :slung,
:title, :meta_data, :meta_keyword, :enability, :status,
:like, :free_delivery, :garanty, :waranty, :money_back,
:user_id, :business_id,
categoriesـattributes: [:id, :title])
end
и с точки зрения только часть того, кто относится к категории:
<%= f.association :categories %>
все категории в списке (форма), но когда я выбираю некоторые из них, не сохраняются в базе данных. in rails console Я делаю это
p = InternetProduct.find(5)
p.categories = Category.find(1,2,3)
это сохранить в базу данных без проблем, что мне делать? танки для чтения этого
у вас есть и 'OnlineProduct' объединяются? – inye
да inye. это то, что у меня есть: 'class CategoriesInternetBons
Armanlearn
редактировать свой вопрос и добавить эту миграцию и лучше, если вы добавите таблицу Зонирование трех таблиц. – inye