Código
Los primeros 3 días de esta semana se comenzó a hacer el catalogo de los productos que se van a tener en la base de datos, utilizando Ruby on Rails como framework de desarrollo, SQLite para la base de datos y CSS para dar estilo al HTML.
Lo primero que se creó fue un Catálogo, en donde el catálogo tiene "Products" , a su vez los productos tienen "name", "trademark" y "ecolabels".
De esta manera se puede acceder al servidor y obtener un json que contenga el producto con su información, que hasta la fecha se limita a esos tres campos pero se irán agregando más cuando se tengas las características que se van a tomar en cuenta.
Este es el controlador que se tiene hasta ahora, para obtener json:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ProductsController < ApplicationController | |
before_action :set_product, only: [:show, :edit, :update, :destroy] | |
# GET /products | |
# GET /products.json | |
def index | |
@products = Product.all | |
end | |
# GET /products/1 | |
# GET /products/1.json | |
def show | |
end | |
# GET /products/new | |
def new | |
@product = Product.new | |
end | |
# GET /products/1/edit | |
def edit | |
end | |
# POST /products | |
# POST /products.json | |
def create | |
@product = Product.new(product_params) | |
respond_to do |format| | |
if @product.save | |
format.html { redirect_to @product, notice: 'Product was successfully created.' } | |
format.json { render action: 'show', status: :created, location: @product } | |
else | |
format.html { render action: 'new' } | |
format.json { render json: @product.errors, status: :unprocessable_entity } | |
end | |
end | |
end | |
# PATCH/PUT /products/1 | |
# PATCH/PUT /products/1.json | |
def update | |
respond_to do |format| | |
if @product.update(product_params) | |
format.html { redirect_to @product, notice: 'Product was successfully updated.' } | |
format.json { head :no_content } | |
else | |
format.html { render action: 'edit' } | |
format.json { render json: @product.errors, status: :unprocessable_entity } | |
end | |
end | |
end | |
# DELETE /products/1 | |
# DELETE /products/1.json | |
def destroy | |
@product.destroy | |
respond_to do |format| | |
format.html { redirect_to products_url } | |
format.json { head :no_content } | |
end | |
end | |
private | |
# Use callbacks to share common setup or constraints between actions. | |
def set_product | |
@product = Product.find(params[:id]) | |
end | |
# Never trust parameters from the scary internet, only allow the white list through. | |
def product_params | |
params.require(:product).permit(:name, :trademark, :ecolabels) | |
end | |
end |
Y el ejemplo de la vista:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<%= form_for(@product) do |f| %> | |
<% if @product.errors.any? %> | |
<div id="error_explanation"> | |
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2> | |
<ul> | |
<% @product.errors.full_messages.each do |msg| %> | |
<li><%= msg %></li> | |
<% end %> | |
</ul> | |
</div> | |
<% end %> | |
<div class="field"> | |
<%= f.label :name %><br> | |
<%= f.text_field :name %> | |
</div> | |
<div class="field"> | |
<%= f.label :trademark %><br> | |
<%= f.text_field :trademark %> | |
</div> | |
<div class="field"> | |
<%= f.label :ecolabels %><br> | |
<%= f.text_field :ecolabels %> | |
</div> | |
<div class="actions"> | |
<%= f.submit %> | |
</div> | |
<% end %> |
Estos cambios, y los demás para que funcione el servidor están en el repositorio: https://github.com/cecyurbina/EcoFriendlyPlugin
Para la siguiente semana se espera poder hacer consultas directamente del plugin, al servidor.
Redacción
Los siguientes dos días de esta semana se dedicaron a las correcciones de la semana pasada y las de esta semana, y un borrador del diseño experimental.- Se arreglaron principalmente faltas de ortografía como acentos y puntuaciones.
- Se agregó mas datos a la autobiografía.
- Se arregló los URL de la biografía.
- Se terminó el resumen con lo que se tiene hasta ahora, faltan la conclusiones.
- Se hizo un borrador del diseño experimental.
Para la próxima entrega se terminaran todos los capitulos antes del capítulo 5, y se llenará con más informaciión el capítulo 5.
No hay comentarios:
Publicar un comentario