2010-10-07 7 views
1

nouveau sur les rails et essayer d'obtenir youtube-g pour travailler ... Je suis un moment difficile qui passe un utilisateur recherche du form_tag au contrôleur .. par exemple:comment utiliser youtube-g ruby ​​gem?

  1. terres de l'utilisateur à la page, entre - vidéos de tigre - en text_field_tag ​​
  2. contrôleur
  3. prend - vidéos de tigre - et recherches
  4. terres de l'utilisateur sur une autre page affichant les résultats ...

  5. utilisateur accède à la page, requête

  6. entre dans

index.html.erb

<%= form_tag(youtube_path) do %> 
    <%= label_tag(:q, "Search for:") %> 
    <%= text_field_tag(:wth) %> 
    <%= submit_tag("Search") %> 
    <% end %> 

-

    contrôleur
  1. prend requête et recherche

youtubecontroller.rb

class YoutubeController < ApplicationController 
def search 
    require 'youtube_g' 
    client = YouTubeG::Client.new 
client.videos_by(:query => params[:wth]) 
end 
end 

-

mes itinéraires fichier:

ActionController::Routing::Routes.draw do |map| 
map.search “search”, :controller => “youtube” 

Je havn't obtenu à l'étape 3 encore ..

ce que je veux est une page avec juste une zone de texte et un bouton d'envoi, et lorsqu'un utilisateur entre le texte et soumet, ils sont amenés à une nouvelle page qui rend 10 résultats YouTube. Toute aide est très appréciée!!!

http://youtube-g.rubyforge.org/

Répondre

0

search.html.erb

<%= form_tag(:action => "search") do %> 
     <%= label_tag(:q, "Search for:") %> 
     <%= text_field_tag(:wth) %> 
     <%= submit_tag("Search") %> 
<% end %> 

YoutubeController

require 'youtube_g' 
class YoutubeController < ApplicationController 
    def index   
    end 

    def search 
    if request.post? 
    client = YouTubeG::Client.new 
    @youtube = client.videos_by(:query => params[:wth],:per_page => 10)   
    render :action => :index 
    end 
    end 
end 

index.html.erb

<% @youtube.videos.each do |video| %> 
    <%= video.title %> 
<% end %> 

routes.rb

map.resources :youtube, :collection => { :search => :get } 
+1

Je vous remercie pour votre réponse! J'ai été en mesure d'obtenir des résultats montrant .. mais le formulaire dans search.html.erb ne s'affiche pas .. quand je navigue vers http://0.0.0:3000/youtube/search plutôt qu'un formulaire d'affichage, il rend automatiquement la recherche résultats .. c'est ce qu'il recrache #, @media_content = [#, @ default = true, @ url = "http://www.youtube.com/v/NkfuPTm1zUo?f=videos&app=youtube_gdata">] , @ title = "Evolution des X-Men: Saison 3, Episode 3", @ published_at = Wed Mar 04 20:45:26 UTC 2009, @ durée = 1285, @thumbnails = [#, #, #, #], @ player_url = "http: //www.youtube.com/watch? v = NkfuPTm1zUo & feature = youtube_gdat ... – Felix

+1

Désolé, je ne teste pas, je viens de mettre à jour mon code, veuillez le revoir, je l'ai testé. J'espère que cela vous sera utile. :) – khanh