Rieles: combine 3 menús desplegables seleccionados para modificar 1 atributo de un modelo
Frecuentes
Visto 202 veces
0
Así que normalmente uso el date_select
ayudante en mis aplicaciones de Rails en los formularios de mis Modelos, pero en la aplicación más reciente que estaba creando, necesitaba especificar ID de css individuales para cada menú desplegable (mes, día, año), y eso no es posible con date_select
. Entonces, en cambio, he estado usando select_month
, select_day
y select_year
ayudantes Aquí está el problema: ¿cómo hago para que todos describan uno? datetime
registro en mi base de datos?
(He mirado esta pregunta por cierto, pero me parece bastante inútil. Además, no quiero hacer cosas de jQuery hacky manejando esto).
Esto es lo que tengo hasta ahora:
#default_time_for is just a helper method that returns the default time for the specified "period" of time (month,day,etc.)
<%= select_month(default_time_for(:month)) %>
<%= select_day(default_time_for(:day)) %>
<%= select_year(default_time_for(:year), {:start_year => Time.now.year-18, :end_year => 1930}) %>
1 Respuestas
0
Los combinaría en el lado del servidor:
require 'date'
def update
date = Date.parse(params[:year] + params[:month] + params[:day])
# Add to object and save
end
Todavía puede hacer una asignación masiva, asumiendo que date
es el campo que desea asignar, puede hacer lo siguiente:
def update
date = Date.parse(params[:year] + params[:month] + params[:day])
params = params.merge( { :user => { :date => date }})
@user = User.find(params[:id])
if @user.update_attributes(params)
# save was good
else
# save was bad
end
end
También asegúrese de estar familiarizado y mitigado contra el valor emitido en caja por Asignación Masiva si vas a usar el código anterior.
Respondido el 12 de junio de 12 a las 18:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ruby-on-rails ruby-on-rails-3.1 or haz tu propia pregunta.
La razón por la que dudo en hacer esto es porque tengo muchos campos, y solo iba a asignarlos en masa... ¿hay alguna forma de mantener el resto de los atributos asignables en masa? (Quiero hacer
User.save(params[:user])
para el resto de los atributos si es posible) - Varatis