在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 %>
一旦我添加了附加修饰符,它就能够成功呈现列表。