Monday, October 29, 2012

Barra de búsqueda simple - Ruby on Rails


Es muy sencillo agregar una barra de búsqueda en una aplicación de rails. Aquí un pequeño tutorial:

1. Crear un form para enviar la solicitud con la palabra a buscar

Por ejemplo en su index.html.erb coloquen el siguiente código para obtener un formulario como el de la imagen arriba:


<%= form_tag({:controller => "products", :action => "index"}, :method => :get) do %>

    <%= text_field_tag "searchbox", params[:searchbox] %>

    <%= submit_tag "Buscar", :name => nil %>

<% end %>

Recuerden editar el controlador y la acción a la que ustedes necesitan, éstas debe corresponder a la misma que renderea el index.html.erb donde están colocando el código.

2. Agregar código que incorpore la búsqueda:

En el archivo del modelo, en este caso sería product.rb, colocar el siguiente código para filtrar los resultados según los parámetros ingresados en la búsqueda.


def self.search(search)

 if search 

    where('title LIKE ?', "%#{search}%")

  else

    scoped

  end

end

En este caso deseo que mi búsqueda filtre de acuerdo al campo "title", ustedes deben editar eso de acuerdo a sus necesidades.

3. Por ultimo, realizar la búsqueda/filtrado en el controlador para entregar los resultados a la vista index.html.erb, luego en products_controller.erb


def index

  @products = Product.search(params[:searchbox])

    respond_to do |format|

      format.html # index.html.erb

    end

  end

y listo, los resultados ahora serán filtrados cuando hagan clic en el botón buscar.

Aquí algunos libros que les pueden ayudar a programar en Rails:

Bookmark and Share

Sunday, October 21, 2012

Utilizar una Roku en Chile

Como comenté en el post anterior, la Roku es una cajita muy poderosa a bajo precio, pero tiene la desventaja que está hecha para ser utilizada en Estados Unidos. Pero como (casi) todo, tiene una forma de funciona fuera de ese país.

En pocas palabras, esto es lo que se debe hacer:

  1. Engañar la IP de la Roku
  2. Crear una cuenta de Roku
  3. Conseguir/comprar contenido para ver a través de la Roku.
Detalles de los pasos a seguir:

1. Para engañar la IP de la Roku hay que contratar un servicio que lo haga. Existen varios sistemas pagados y otros gratis. Hay que te tener cuidado cual contratar ya que podrían ver todos los datos que transfieres por internet incluyendo claves. En particular, el que más me convenció a mi fue Hide My Ass (https://hidemyass.com/vpn/). Con planes que van desde $11.52usd mensuales a $78.66usd anuales ($6.55usd mensual). Al contratar HMA, bajas un programita y con las credenciales que te pasan puedes engañar la IP de donde te conectas, le indicas un lugar de donde te deseas conectar y listo. El único problema es que ese programita sirve para Windows, Mac o Linux, pero qué hacer con la Roku? Para esto la nueva IP debe venir desde el router de donde se conecta la Roku.  HMA tiene sugerencias para lograrlo, desde sugerencias de routers hasta tutoriales para modificar el firmware de éstos y conectarse al VPN.
Personalmente, compré un router adicional y traté de flashearlo (instalarle el nuevo firmware DD-WRT que es el que se necesita), pero no tuve mucho éxito. Terminé encontrando un sitio, FlashRouters, en estados unidos que te los venden flasheados y listos para conectarlos con HMA, sólo hay que ingresar las credenciales. Incluso si quieres, les puedes dar las credenciales a ellos y te lo dejan listo llegar y enchufar. 
Si tienen internet movistar y están conectados a través de PPPoE, deben tener 2 routers. El router flasheado lo deben conectar al segundo router (un router que probablemente ya usaban y tenían en su casa) y ese router va conectado al modem. Si conectan el router flasheado directamente al modem no podrán tener internet, ya que no pueden conectarse al VPN y al PPPoE al mismo tiempo.

2. Para poder habilitar los canales de interés en la Roku: Amazon, Netflix, Crackle, etc. Es necesario tener una tarjeta de crédito americana. Pero qué pasa si no tienen? Se puede arreglar. Hablen con el servicio al cliente de Roku, conectados a través de la VPN de estados unidos (cuando hablé con ellos revisaron la IP de donde estaba "comunicándome").  Por lo que al servicio al cliente les deben decir que no cuentan con una tarjeta americana, pero se encuentran en estado unidos y desean utilizar la Roku. Para ese caso ellos habilitarán una cuenta sin tarjeta y te advertirán que no podrás comprar canales ni cosas on-demand. Les dices que estás al tanto y listo. Los canales mencionados anteriormente no necesitan ser comprados (Ver punto 3).


3. Existe contenido para ver en la Roku que requiere que tengan una suscripción de antemano.

  • Amazon Prime: Pagando $79usd anuales obtienes streaming ilimitado de ciertas películas habilitadas por Amazon. La biblioteca de películas habilitadas no es menor, pero de todas formas si quieren ver lo estrenos también lo pueden pagando ya que será cobrada la tarjeta de crédito que tengan en Amazon y no en Roku.
  • Netflix: Si tienen el Netflix chileno contratado con eso basta. Al detectar la IP americana accederán a la biblioteca de películas de Estados Unidos (mucho más surtida que la Chilena)
  • Crackle: Acceso a películas gratis.
  • Hulu: Ideal para ver series, pero sólo podrán tener acceso a este canal si contratan Hulu Plus, el cual requiere una tarjeta de crédito americana para suscribirse. Se pueden comprar tarjetas pre pagadas en estados unidos.


Bookmark and Share

Tuesday, October 9, 2012

Roku - televisión por internet


La roku es una pequeña cajita que sirve para ver televisión por internet. La gracia es que la conectes a tu pantalla para ver canales de streaming, y se conecta a internet de manera inalámbrica, como lo hace apple TV, pero significativamente más económico.

Personalmente me compré el Roku 2 XD Streaming Player 1080p, pero existen varios modelos de los cuales puedes elegir según tu bolsillo y preferencias. El más económico comienza en 50USD en amazon.

Mi roku 2 incluye un control remoto con botones de acceso directo a Netflix, Pandora y Crackle. Es bastante agradable. Me gusta que utilice poco espacio y es bastante rápido como software para moverse entre canales. Además de los canales ya mencionados, es posible conectarse a Amazon Prime, Hulu Plus y muchos más.

Otra de las características de la Roku 2 XD es que puede mostrar películas en HD 1080p, a diferencia de la Roku HD.

La letra chica de la cajita:

*Para funcionar necesita estar en estados unidos
*Tener una tarjeta de crédito de estados unidos (para poder comprar películas que no se puedan ver gratis)

Pero no se decepcionen, existe una solución para estos requisitos. Les comentaré como arreglarlo más adelante.

Bookmark and Share

Related Posts Plugin for WordPress, Blogger...