Создание элементов в группах в Rails - PullRequest
1 голос
/ 23 марта 2010

Моя таблица продуктов

id        type         price      location
1         chips         $3          aisle3

У меня вопрос с добавлением товаров в группы. Существует поле количества (немоделируемое), где пользователь может ввести количество При добавлении нового товара, если пользователь вводит:

type: soda
quantity: 3

Затем в модели продукта должны быть созданы 3 записи с type = soda, как показано ниже.

id   type   
2    soda  
3    soda   
4    soda   

Если пользователь вводит

location: aisle4
quantity: 2

Тогда

id   location  
5    ailse4
6    ailse4

Не могли бы вы рассказать, как передать немодельное поле «количество» в рельсы (модель или контроллер) и как использовать его для добавления продуктов в группы, как указано выше? или я должен создать столбец с названием количество в моей таблице продуктов? Будет ли история обновляться для всех этих новых записей с помощью фильтра after_create, который у меня уже есть? Есть ли хороший учебник или книга, в которой показано, как передавать такие немодельные html / javascript поля из представления в рельсы, а затем обратно в представление? Любая помощь будет оценена. Спасибо

1 Ответ

1 голос
/ 23 марта 2010

Попробуйте это:

class Product < ActiveRecord:Base

  attr_accessor :quantity


  def self.create_in_group(params)
    size, i = params["quantity"].to_i, 0
    size.times { Product.create(params);i+=1 }  
    i == size
  end

end

class ProductsController < ApplicationController

  def create
    if Product.create_in_group(params[:product])
      # success
    else
      # error
    end
  end

end

PS: по вашему мнению, вы можете получить доступ к полю quantity, как если бы оно было полем модели продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...