0

コントローラーに次のコードがあります

def search 

if params[:name]
      response = client.get_games(params[:name])
      if response.is_a?(Net::HTTPSuccess)
        games = client.parser(response)
        unless games.empty?
          session[:games] = games
          redirect_to game_path(params[:name])
        end
      end
....
....
....
end
end
I have the following code written in my client

def get_games(name)
    find_games(CGI.escape(name))
 end

一部のロジックをクライアントの get_games メソッドに移動する際に問題が発生しています。たとえば、これを行うとうまくいかないので、どうすればよいか、または間違っているかどうかについての提案が欲しい

if params[:name]
  games = client.get_games(params[:name])
  unless games.empty?
    session[:games] = games
          redirect_to game_path(params[:name])
        end
      end
...
...
...
end
end

def get_games(name)
response = find_games(CGI.escape(name))
if response.is_a?(NET::HTTPSuccess)
return JSON.parse(response.body)
else 
return nil
end
end

前者のケースは機能しますが、後者は機能しません。基本的に、コードdef searchをクライアント内に移動する際に助けが必要redirect_to game_path(params[:name])で、コントローラーには のみがあります。どんな助けでも大歓迎です

4

1 に答える 1

0

使用している

response = client.get_games(params[:name])

最初の場合。get_games が Client モデルのメソッドである場合は、おそらく変更する必要があります

response = find_games(CGI.escape(name))

為に

response = get_games(params[:name])

コードを追加しないと、より適切に回答するのは困難です。

于 2013-03-28T21:57:49.453 に答える