我有一个部分,拉的游戏有人在他们的蒸汽库列表推着语言环境变量,以局部用Rails 4.2
<h1><%= header %></h1>
<% player = SteamWebApi::Player.new(steamId)
owned_games = player.owned_games(include_appinfo: true)%>
<% owned_games.each do |game| %>
<%= game['playtime_2weeks'] %>
<% if game['img_icon_url'].blank? %>
<%= image_tag 'http://www.readyicons.com/IconSets/Sky_Light_(Basic)/32x32-no.png' %>
<% else %>
<%= image_tag "http://media.steampowered.com/steamcommunity/public/images/apps/#{game['appid']}/#{game['img_icon_url']}.jpg" %>
<% end %>
<%= game['name'] %><br>
<% end %>
而且它的基本视图饲料关current_user.player_steam_id的 - 在SQL场。 原本这是很好,只显示你现在的游戏,但我想用它做几件事。
A)当你检查某人的个人资料时,你会看到他们的列表。 B)您可以使用用户ID进行搜索,以获取查询结果。
我最初的问题是使用(XXXXXX实际上是一个数字,所以我不字符串化它(操作?)
<%= render :partial => 'game_list', :locals => {:header => "Welcome to His Page!", :steamId => XXXXXXXXXX } %>
而且“欢迎他的网页!”被获得通过,但我“M有很多的问题越来越:steamId呈现
在我试着<%= steamId %>
<% steamId %>
和:steamId
当前和:steamId
使其局部视图是仅有的两个不破页,但它没有渲染任何东西。我对此很新,所以试图弄清楚,但是我发现很多帖子都说我做得对。
我欢迎任何输入。
另外 - 因为我打算广泛使用这个,我应该考虑使它成为一个控制器?或者部分是否足够? (PS我通常是一个节点的家伙,所以我试着debug + console.log(steamId)了解它是如何渲染的,但是我没有在console.log中得到结果,并且调试没有做任何事情。通常你如何调试像这样的回报率
感谢任何输入
编辑:?!
附加信息:
这样做的问题是部分地在部分
<h1><%= header %></h1>
<% player = SteamWebApi::Player.new(steamId)
owned_games = player.owned_games(include_appinfo: true)%>
<% owned_games.each do |game| %>
<%= game['playtime_2weeks'] %>
<% if game['img_icon_url'].blank? %>
<%= image_tag 'http://www.readyicons.com/IconSets/Sky_Light_(Basic)/32x32-no.png' %>
<% else %>
<%= image_tag "http://media.steampowered.com/steamcommunity/public/images/apps/#{game['appid']}/#{game['img_icon_url']}.jpg" %>
<% end %>
<%= game['name'] %><br>
<% end %>
通过将其修改为owned_games定义,玩家定义在不同的行上,它解析成功。这仅仅是我未复审的东西,我复制/粘贴的失败。
解析的代码:
<h1><%= header %></h1>
<% puts steamId %>
<% player = SteamWebApi::Player.new(steamId) %>
<% owned_games = player.owned_games(include_appinfo: true)%>
This is my steam ID <%= steamId %>
<% owned_games.each do |game| %>
<%= game['playtime_2weeks'] %>
<% if game['img_icon_url'].blank? %>
<%= image_tag 'http://www.readyicons.com/IconSets/Sky_Light_(Basic)/32x32-no.png' %>
<% else %>
<%= image_tag "http://media.steampowered.com/steamcommunity/public/images/apps/#{game['appid']}/#{game['img_icon_url']}.jpg" %>
<% end %>
<%= game['name'] %><br>
<% end %>
但是,我只能把它渲染,如果它拉从数据库中player_steam_id。
因此,举例来说,如果我有 :steamId => 76561198017108025
它不会工作,但如果我有
:steamId => User.player_steam_id
它的工作。
(同样,“用户”在SQL列存储的player_steam_id)
我希望能够把这种在一个搜索按钮,这就是为什么我想要的“提交”了解如何让渲染使用特定的编号。
为什么会这样?我已经试过用视图来记录steamId,并且我看到它以正常整数的形式传递。我唯一合乎逻辑的假设是视图加载,用'steamId'调用API然后呈现steamId,但我只是猜测?
更新试用正错误
所以我尝试了使用像
<h1><%= header %></h1>
<% appCall = steamId %>
<% player = SteamWebApi::Player.new(appCall) %>
<% owned_games = player.owned_games(include_appinfo: true)%>
<%= appCall %>
<%= owned_games.success %>
<% owned_games.each do |game| %>
<%= game['playtime_2weeks'] %>
<% if game['img_icon_url'].blank? %>
<%= image_tag 'http://www.readyicons.com/IconSets/Sky_Light_(Basic)/32x32-no.png' %>
<% else %>
<%= image_tag "http://media.steampowered.com/steamcommunity/public/images/apps/#{game['appid']}/#{game['img_icon_url']}.jpg" %>
<% end %>
<%= game['name'] %><br>
<% end %>
我能够获得与看跌期权的输出,并且还使用了“player.success是'API的功能。其中返回“True”,并将steamId和app都渲染出ID。
我还测试前“的”打印出整个阵列,并且也注意到它给了我所有的数据。 true #<OpenStruct count=31, games=[{"appid"=>300, "name"=>"Day of Defeat: Source", "playtime_forever"=>48,
所以问题在于部分的'for'部分,我在想。我是否需要在主文档中运行for,并从部分数据中提供数据?这似乎是...的
这个问题起源于从[这个线程(HTTP后续://计算器。com/questions/38948354/api-search-on-rails-search-input) – DNorthrup
'XXXXXX实际上是一个数字,所以我不把它串起来(我?)' - 应该很好地传递一个数字。 –
'<%= steamId%>'这应该是正确的 - 只要'steamId'不为空即可。尽管Rails的标准命名实践是使用'snake_case'而不是'CamelCase'(即你通常称之为'steam_id'):)注意:要仔细检查你有什么,你可以使用'inspect' - 它会输出如果变量中没有任何内容,则为'nil'例如:'
<%= steam_id.inspect%>
'(当我仔细检查值时,我经常使用h1标签,因此它不会在页面中丢失) –