как использовать youtube-g ruby ​​gem? - PullRequest
1 голос
/ 07 октября 2010

новичок в rails и попытка заставить youtube-g работать ... У меня проблемы с передачей поиска пользователей из form_tag в контроллер .. например:

  1. пользователь попадает на страницу, вводит - видео тигра - в text_field_tag ​​
  2. контроллер берет - видео тигра - и ищет
  3. пользователь попадает на другую страницу с результатами ...

  4. пользователь попадает на страницу, вводит запрос

index.html.erb

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

-

  1. контроллер принимает запрос и ищет

youtubecontroller.rb

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

-

файл моих маршрутов:

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

Я еще не дошел до шага 3 ..

мне нужна страница с текстовым полем и кнопкой отправки, и когда пользователь вводит текст и отправляет сообщение, он переносится на новую страницу, которая отображает 10 результатов YouTube. любая помощь очень ценится !!!

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

1 Ответ

0 голосов
/ 07 октября 2010

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 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...