在Locails中将Locale变量推送到Partial 4.2

我有一部分可以将他们在Steam库中的游戏列表拉出来


它的基本视图源自current_user.player_steam_id – SQL中的一个字段。 最初这只是展示你现在的游戏很好,但我想用它做一些事情。

A)当您检查某人的个人资料时,您会看到他们的列表。 B)您可以使用用户ID进行搜索,以提取查询结果。

我最初的问题是使用(XXXXXX实际上是一个数字,所以我不对其进行字符串化(是吗?)

   'game_list', :locals => {:header => "Welcome to His Page!", :steamId => XXXXXXXXXX } %> 

而且“欢迎来到他的页面!” 正在通过,但我遇到了很多问题:steamId渲染。

在局部视图中,我尝试使用 :steamId

current和:steamId是唯一不会破坏页面的两个,但它不会呈现任何内容。 我对此很陌生,所以试图解决这个问题,但我发现很多post都说我做得对。

我欢迎任何意见。

另外 – 由于我打算广泛使用它,我应该考虑将它变成控制器吗? 或者部分就足够了? (PS我通常是一个Node人,所以我试了很多调试+ console.log(steamId)来看看它是如何渲染的,但我没有在console.log中得到结果,而且调试没有做任何事情。你通常在RoR中调试这样的东西吗?

谢谢你的任何输入!

编辑:

附加信息:

这个问题部分是在局部。

 


通过将其修改为owned_games定义,并且播放器定义位于不同的行上,它已成功解析。 这只是一个不审查 – 我复制/粘贴的失败对我而言。

已解决的代码:

 

This is my steam ID

但是,如果它从数据库中提取player_steam_id,我只能进行渲染。

例如,如果我有:steamId => 76561198017108025

它不起作用,但如果我有

:steamId => User.player_steam_id它确实有效。

(同样,’用户’在SQL中有一列存储他们的player_steam_id)

我希望能够在搜索按钮的“提交”上调用它,这就是为什么我试图看看如何使渲染与特定数字一起工作。

为什么会出现这种情况? 我已经尝试使用视图记录steamId,我看到它作为普通整数传递。 我唯一的逻辑假设是视图加载,用’steamId’调用API然后渲染steamId,但我只是猜测?

更新试验错误

所以我试着用类似的东西

 


我可以使用puts获得输出,也可以使用API​​的’player.success’function。 返回“True”,并将steamId和app都渲染出ID。

我还在’for’之前测试了整个arrays的打印,并注意到它给了我所有的数据。 true #300, "name"=>"Day of Defeat: Source", "playtime_forever"=>48,

所以问题出在部分的’for’部分,我在想。 我是否需要在主文档中运行for,并从部分文件中提取数据? 那似乎……

game_list是部分还是常规视图? 部分将以下划线作为文件名开头。 _game_list.html.erb

试试这个

 <%= render 'game_list', :header => "Welcome to His Page!", :steamId => XXXXXXXXXX %> 

然后你可以在局部内部像这个<%= steamId %>一样渲染蒸汽ID。

编辑:

如果您没有在直接输出区域中引用steamId,则无需将其包装在<%=%>中尝试使用SteamWebApi::Player.‌​new(steamId)而不是SteamWebApi :: Player.new(<%= steamId%>)

另一个编辑

试试这个

 

<%= header %>

<% 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://sofzh.miximages.com/ruby-on-rails/32x32-no.png' %> <% else %> <%= image_tag "http://media.steampowered.com/steamcommunity/public/images/apps/#{game['appid']}/#{game['img_icon_url']}.jpg" %> <% end %> <%= game['name'] %>
<% end %>

我补充道

 This is my steam ID <%= steamId %> 

问题最终成为我用作模板的Partial。 它从来没有将“游戏”数组修改为“游戏”,因此当它在游戏“每个”中迭代时,它从未返回任何结果。

我最后的部分按预期工作。

 

<%= header %>

<% player = SteamWebApi::Player.new(steamId) %> <% owned_games = player.owned_games(include_appinfo: true)%> <% game = owned_games.games %> <% games.each do |game| %> <%= game['playtime_2weeks'] %> <% if game['img_icon_url'].blank? %> <%= image_tag 'http://sofzh.miximages.com/ruby-on-rails/32x32-no.png' %> <% else %> <%= image_tag "http://media.steampowered.com/steamcommunity/public/images/apps/#{game['appid']}/#{game['img_icon_url']}.jpg" %> <% end %> <%= game['name'] %>
<% end %>

一旦我添加了附加修饰符,它就能够成功呈现列表。