我有一个表单来编辑资源,与所有其他帖子不同,我想将其作为HTML而不是JS进行处理。
我不知道为什么
Processing by UserDataController # edit_contact as JS
而不是HTML。
我还删除了turbolinks,但我用scaffold生成的其他几个表单工作得很好(它们被处理为HTML而不是JS),但我制作的这个自定义表单的作用正好相反,所以我不知道这是什么。
整个控制器是:
class UserDataController < ApplicationController
before_action :authenticate_user!, except: [:index, :show]
def reputation
end
def edit_contact
end
def update_contact
if current_user.contact_info.update(contact_params)
redirect_to user_data_edit_contact_path, notice: 'Se editaron los datos de contacto exitosamente.'
else
redirect_to user_data_edit_contact_path, alert: 'Hubieron errores al editar los datos de contacto.'
end
end
def edit_payments
end
def update_payments
if current_user.payment_method.update(payments_params)
redirect_to user_data_edit_payments_path, notice: 'Se editaron los metodos de pago exitosamente.'
else
redirect_to user_data_edit_payments_path, alert: 'Hubieron errores al editar los metodos de pago.'
end
end
private
# Never trust parameters from the scary internet, only allow the white list through.
def contact_params
params.permit(:name, :last_name, :region, :city, :commune, :email, :cellphone, :whatsapp, :facebook, :telegram)
end
def payments_params
params.permit(:name, :in_person, :paypal, :payoneer, :western_union, :bank_transfer, :check, :cryptos)
end
end
以及窗体的视图:
<%= form_with url: user_data_update_contact_path, method: :post do |form| %>
<div class="row">
<div class="col-xs-4">
<h3>Informacón personal</h3>
<div class="form-group">
<%= form.label :name, 'Nombre' %>
<%= form.text_field :name, value: current_user.contact_info.name, class: 'form-control' %>
</div>
<div class="form-group">
<%= form.label :last_name, 'Apellido' %>
<%= form.text_field :last_name, value: current_user.contact_info.last_name, class: 'form-control' %>
</div>
</div>
<div class="col-xs-4">
<h3>Otros medios de contacto</h3>
<div class="form-group">
<%= form.label :email, 'Correo' %>
<%= form.text_field :email, value: current_user.contact_info.email, class: 'form-control' %>
</div>
<div class="form-group">
<%= form.label :cellphone, 'Celular' %>
<%= form.text_field :cellphone, placeholder: '+569', value: current_user.contact_info.cellphone, class: 'form-control' %>
</div>
<div class="form-group">
<%= form.label :whatsapp %>
<%= form.select :whatsapp, options_for_select([['Si', true], ['No', false]], current_user.contact_info.whatsapp), {}, { class: "form-control" } %>
</div>
<div class="form-group">
<%= form.label :facebook, 'Usuario de facebook' %>
<%= form.text_field :facebook, placeholder: 'Link entero al perfil de facebook', value: current_user.contact_info.facebook, class: 'form-control' %>
</div>
<div class="form-group">
<%= form.label :telegram, 'Usuario de telegram' %>
<%= form.text_field :telegram, placeholder: 'Id del usuario', value: current_user.contact_info.telegram, class: 'form-control' %>
</div>
</div>
<div class="col-xs-4">
<h3>Localidad</h3>
<div class="form-group">
<%= form.label :region, 'Región' %>
<%= form.select :region, options_for_select(['', 'Arica y Parinacota', 'Tarapacá', 'Antofagasta', 'Atacama', 'Coquimbo', 'ValparaÃso', 'Metropolitana de Santiago', 'Lib. Gral. Bernardo O\'Higgins', 'Maule', 'BiobÃo', 'La AraucanÃa', 'Los RÃos', 'Los Lagos', 'Aysén del Gral. C. Ibáñez del Campo', 'Magallanes y Antártica Chilena'], current_user.contact_info.region), {}, { class: "form-control selectpicker", "data-live-search" => "true" } %>
</div>
<div class="form-group">
<%= form.label :commune, 'Comuna' %>
<%= form.select :commune, options_for_select(['', 'Arica', 'Camarones', 'Putre', 'General Lagos', 'Iquique', 'Alto Hospicio', 'Pozo Almonte', 'Camiña', 'Colchane', 'Huara', 'Pica', 'Antofagasta', 'Mejillones', 'Sierra Gorda', 'Taltal', 'Calama', 'Ollagüe', 'San Pedro de Atacama', 'Tocopilla', 'MarÃa Elena', 'Copiapó', 'Caldera', 'Tierra Amarilla', 'Chañaral', 'Diego de Almagro', 'Vallenar', 'Alto del Carmen', 'Freirina', 'Huasco', 'La Serena', 'Coquimbo', 'Andacollo', 'La Higuera', 'Paihuano', 'Vicuña', 'Illapel', 'Canela', 'Los Vilos', 'Salamanca', 'Ovalle', 'Combarbalá', 'Monte Patria', 'Punitaqui', 'RÃo Hurtado', 'ValparaÃso', 'Casablanca', 'Concón', 'Juan Fernández', 'PuchuncavÃ', 'Quintero', 'Viña del Mar', 'Isla de Pascua', 'Los Andes', 'Calle Larga', 'Rinconada', 'San Esteban', 'La Ligua', 'Cabildo', 'Papudo', 'Petorca', 'Zapallar', 'Quillota', 'La Calera', 'Hijuelas', 'La Cruz', 'Nogales', 'San Antonio', 'Algarrobo', 'Cartagena', 'El Quisco', 'El Tabo', 'Santo Domingo', 'San Felipe', 'Catemu', 'Llaillay', 'Panquehue', 'Putaendo', 'Santa MarÃa', 'Quilpué', 'Limache', 'Olmué', 'Villa Alemana', 'Rancagua', 'Codegua', 'Coinco', 'Coltauco', 'Doñihue', 'Graneros', 'Las Cabras', 'MachalÃ', 'Malloa', 'Mostazal', 'Olivar', 'Peumo', 'Pichidegua', 'Quinta de Tilcoco', 'Rengo', 'RequÃnoa', 'San Vicente', 'Pichilemu', 'La Estrella', 'Litueche', 'Marchihue', 'Navidad', 'Paredones', 'San Fernando', 'Chépica', 'Chimbarongo', 'Lolol', 'Nancagua', 'Palmilla', 'Peralillo', 'Placilla', 'Pumanque', 'Santa Cruz', 'Talca', 'Constitución', 'Curepto', 'Empedrado', 'Maule', 'Pelarco', 'Pencahue', 'RÃo Claro', 'San Clemente', 'San Rafael', 'Cauquenes', 'Chanco', 'Pelluhue', 'Curicó', 'Hualañé', 'Licantén', 'Molina', 'Rauco', 'Romeral', 'Sagrada Familia', 'Teno', 'Vichuquén', 'Linares', 'Colbún', 'LongavÃ', 'Parral', 'Retiro', 'San Javier', 'Villa Alegre', 'Yerbas Buenas', 'Concepción', 'Coronel', 'Chiguayante', 'Florida', 'Hualqui', 'Lota', 'Penco', 'San Pedro de La Paz', 'Santa Juana', 'Talcahuano', 'Tomé', 'Hualpén', 'Lebu', 'Arauco', 'Cañete', 'Contulmo', 'Curanilahue', 'Los Ãlamos', 'Tirúa', 'Los Ãngeles', 'Antuco', 'Cabrero', 'Laja', 'Mulchén', 'Nacimiento', 'Negrete', 'Quilaco', 'Quilleco', 'San Rosendo', 'Santa Bárbara', 'Tucapel', 'Yumbel', 'Alto BiobÃo', 'Chillán', 'Bulnes', 'Cobquecura', 'Coelemu', 'Coihueco', 'Chillán Viejo', 'El Carmen', 'Ninhue', 'Ãiquén', 'Pemuco', 'Pinto', 'Portezuelo', 'Quillón', 'Quirihue', 'Ránquil', 'San Carlos', 'San Fabián', 'San Ignacio', 'San Nicolás', 'Treguaco', 'Yungay', 'Temuco', 'Carahue', 'Cunco', 'Curarrehue', 'Freire', 'Galvarino', 'Gorbea', 'Lautaro', 'Loncoche', 'Melipeuco', 'Nueva Imperial', 'Padre Las Casas', 'Perquenco', 'Pitrufquén', 'Pucón', 'Saavedra', 'Teodoro Schmidt', 'Toltén', 'Vilcún', 'Villarrica', 'Cholchol', 'Angol', 'Collipulli', 'CuracautÃn', 'Ercilla', 'Lonquimay', 'Los Sauces', 'Lumaco', 'Purén', 'Renaico', 'Traiguén', 'Victoria', 'Valdivia', 'Corral', 'Lanco', 'Los Lagos', 'Máfil', 'Mariquina', 'Paillaco', 'Panguipulli', 'La Unión', 'Futrono', 'Lago Ranco', 'RÃo Bueno', 'Puerto Montt', 'Calbuco', 'Cochamó', 'Fresia', 'Frutillar', 'Los Muermos', 'Llanquihue', 'MaullÃn', 'Puerto Varas', 'Castro', 'Ancud', 'Chonchi', 'Curaco de Vélez', 'Dalcahue', 'Puqueldón', 'Queilén', 'Quellón', 'Quemchi', 'Quinchao', 'Osorno', 'Puerto Octay', 'Purranque', 'Puyehue', 'RÃo Negro', 'San Juan de la Costa', 'San Pablo', 'Chaitén', 'Futaleufú', 'Hualaihué', 'Palena', 'Coyhaique', 'Lago Verde', 'Aysén', 'Cisnes', 'Guaitecas', 'Cochrane', 'O\'Higgins', 'Tortel', 'Chile Chico', 'RÃo Ibáñez', 'Punta Arenas', 'Laguna Blanca', 'RÃo Verde', 'San Gregorio', 'Cabo de Hornos', 'Antártica', 'Porvenir', 'Primavera', 'Timaukel', 'Natales', 'Torres del Paine', 'Santiago', 'Cerrillos', 'Cerro Navia', 'ConchalÃ', 'El Bosque', 'Estación Central', 'Huechuraba', 'Independencia', 'La Cisterna', 'La Florida', 'La Granja', 'La Pintana', 'La Reina', 'Las Condes', 'Lo Barnechea', 'Lo Espejo', 'Lo Prado', 'Macul', 'Maipú', 'Ãuñoa', 'Pedro Aguirre Cerda', 'Peñalolén', 'Providencia', 'Pudahuel', 'Quilicura', 'Quinta Normal', 'Recoleta', 'Renca', 'San JoaquÃn', 'San Miguel', 'San Ramón', 'Vitacura', 'Puente Alto', 'Pirque', 'San José de Maipo', 'Colina', 'Lampa', 'Til Til', 'San Bernardo', 'Buin', 'Calera de Tango', 'Paine', 'Melipilla', 'Alhué', 'CuracavÃ', 'MarÃa Pinto', 'San Pedro', 'Talagante', 'El Monte', 'Isla de Maipo', 'Padre Hurtado', 'Peñaflor'], current_user.contact_info.commune), {}, { class: "form-control selectpicker", "data-live-search" => "true" } %>
</div>
</div>
</div>
<br />
<div class="row text-center">
<div class="actions">
<%= form.submit "Guardar" %>
</div>
</div>
<% end %>