[Creo que te has dado vuelta un par de preguntas aquí. Primero, generalmente no pasa una clave principal al crear una nueva instancia de modelo. En la mayoría de los casos, se generará para usted como un entero secuencial y se asignará automáticamente.
En segundo lugar, está la llamada a Product.create, que espera un hash de atributos que deberían usarse en la creación del nuevo registro y devuelve la nueva instancia del modelo. Por lo general, leería algo más como:
@product = Product.create(params[:product])
- ¿Cuándo se usa generalmente un para cada ciclo para aplicaciones web?
- ¿Cuáles son las mejores herramientas de gestión de tareas y por qué?
- ¿Pueden los trabajos de desarrollo web pagar tanto como los trabajos de escritorio con el mismo nivel de experiencia?
- Si tuviera que crear un sitio web como YouTube o Google+ que pueda alojar y transmitir videos, ¿qué lenguaje de programación puedo usar y cuál es el más efectivo? Tengo experiencia previa en Java, ¿será útil?
- ¿Qué tipos de aplicaciones web serían más adecuadas para Rails / Django en lugar de Node.js?
En tercer lugar y para su pregunta, puede crear una ruta personalizada como la que mencionó aquí. Si está seguro de que su atributo : blah será único por instancia de Producto, puede crear la ruta personalizada o, como Claudiu menciona, puede redefinir el identificador como : blah . En el caso: no se garantiza que blah sea único o, si no lo sabe, considere usar algo como la gema FriendlyId para crear babosas para instancias de modelos.
Cuarto, comprenda que para cualquier instancia de modelo, #object_id
y #id no son lo mismo. Vea los documentos para comprender las diferencias.