Tengo una tabla con replicación de mezcla en ella (SQL Server 2005). Hay una columna de rowguid. Quiero que RoR ignore esta columna y no la inserte en esto, y no la incluya al generar la instrucción INSERT.¿Cómo decir ruby en los rieles, no insertar en una columna?
Respuesta
Ver this ticket que propone un parche a los rieles. Puede añadir el siguiente código en un archivo nuevo /config/initializers/hidden_columns.rb
:
require "activerecord"
class << ActiveRecord::Base
def hidden_columns(*hidden)
write_inheritable_array("hidden_column", hidden.collect(&:to_s))
end
def columns_hidden
read_inheritable_attribute("hidden_column") || []
end
def columns
unless defined?(@columns) && @columns
@columns = connection.columns(table_name, "#{name} Columns").delete_if {|c| columns_hidden.member?(c.name) }
@columns.each {|column| column.primary = column.name == primary_key}
end
@columns
end
end
entonces usted puede escribir:
hidden_columns :rowguid
en los modelos en cuestión.
respuesta es igual al anterior
necesita método que se define como un método de clase http://gist.github.com/504745
Genial, lo arreglaste tú mismo. "Por encima de" cambios, así que modifiqué mi respuesta. – giraff
Otra opción, sería hacer una vista que oculta la columna (s). Lo hice cuando atornillaba una aplicación de rieles en un DB heredado en SQL Server. De esta forma no tiene que meterse con/luchar contra los rieles, y puede ocultar las columnas que desee fácilmente ...
fácilmente la mejor y más simple manera de ir en mi opinión. Ojalá hubiera visto esto hace años cuando asumía un proyecto heredado – FireDragon
- 1. Cómo integrar la funcionalidad "¿Quiso decir?" En los rieles?
- 2. ¿Cómo cambiar las rutas en ruby en los rieles?
- 3. Cómo ordenar por fecha en Ruby (no en Rieles)?
- 4. Cómo insertar una columna en otra columna dentro de la misma tabla en SQL Server
- 5. ¿Insertar valores múltiples en una columna mysql?
- 6. ¿Cómo valido una fecha en los rieles?
- 7. Insertar en una columna seleccionando otra columna en otra tabla pero cómo llenar la segunda columna
- 8. ¿Cómo puedo almacenar en caché una columna calculada en rieles?
- 9. En Oracle, ¿es posible "insertar" una columna en una tabla?
- 10. ¿Cómo no html_encode una variable en los rieles?
- 11. ¿Cuáles son los límites de ruby en los rieles?
- 12. Insertar números delimitados específicos en una columna en SQL Server
- 13. Ruby (fuera de los rieles) Hosting
- 14. Insertar filas en una tabla con una columna IDENTITY solamente
- 15. ¿Insertar una nueva columna en la tabla en sqlite?
- 16. Cómo configurar los rieles en Intellij Idea
- 17. cómo crear .htaccess para ruby en rieles?
- 18. Insertar tiempo en una columna de tiempo con Ruby on Rails
- 19. Insertar valor nulo en la columna Entero
- 20. SQL - Insertar múltiples valores de fila en una sola columna
- 21. usando sort_by en ruby (para rieles)?
- 22. ¿Seleccionar todos los elementos de una columna en una matriz de matrices en Ruby?
- 23. joya instalar rieles no instala los carriles
- 24. ¿Cómo puedo insertar una columna BLOB desde una declaración de inserción en sqldeveloper?
- 25. Cómo decir No es nulo en VBA
- 26. Rieles (o Ruby): Sí/No en lugar de Verdadero/Falso
- 27. Palabra reservada en nombre de columna - insertar en MySQL
- 28. ¿Cómo usar múltiples cachés en los rieles?
- 29. Insertar id (autogenerado, solo columna)
- 30. ¿Cómo ordenar por create_at columna de asociación en rieles?
Gracias, pero esto no funcionó. De alguna manera, RoR no encuentra el método hidden_columns. Estoy obteniendo un método indefinido. – Hibri
Debería funcionar ahora. – giraff