首先,我想为我的不专业道歉。我仍在学习 RoR 的过程中。
我目前正在尝试构建一个半高级的网站,这是一大步,但我已经取得了很大的进步。
我目前正面临一个问题,我花了几天时间试图解决这个问题。我确定这是我忽略的小事,但我正用头撞墙试图弄清楚。
我似乎找不到任何视频、谷歌搜索或 SO 线程很好地谈论它。
-- 国旗 --
我正在使用 country_select 和国家 gem。根据国家宝石的页面,https://github.com/hexorx/countries,它确实可以显示国旗表情符号。它没有维基,但在“首页”上,唯一的信息是:
c = Country['MY']
c.emoji_flag # => ""
我发现了一些关于显示国旗表情符号的 SO 文章。 Rails 5 - Country gem - flags 我已经多次阅读这个并尝试做出自己的调整,基本上遇到了与这个人完全相同的问题。我得到同样的错误。
当我测试运行它时,一件不起作用的小事是:
irb(main):001:0> require "countries/global"
=> true
我的测试确实返回为:
irb(main):001:0> require "countries/global"
=> false
即使我的 gemfile 有:
gem 'countries', :require => 'countries/global'
这篇文章Rails 5 - Flag Icons with dynamic country input不是针对国家 gem 的,而是针对另一个 gem。那里也没有答案。
在通过国家宝石和有限的信息/指导放弃显示我的国旗表情符号之后,我发现了这篇文章:我有哪些选择可以将国旗合并到 Rails 4 应用程序中?. 只有1个答案。
这导致我在https://www.flag-sprites.com/上下载 zipfile ,解压缩并将图像移动到我的资产管道/图像中,并将 css 文件移动到资产管道/样式表中。
我当然已经链接了它们,预编译了它们等。
然后我尝试测试运行代码以通过精灵显示其中一个图像,使用:
<span class="flag flag-us"></span>
这完美地显示了所选图像(美国国旗)......但是!我真正需要这些国家标志的,是用户登录后的个人资料。
我的用户已经必须通过注册选择一个国家,例如美利坚合众国 (US)。它也保存在数据库中,没有问题。
我只是想根据用户注册时选择的国家/地区将用户国家/地区的标志添加到他们的个人资料页面。
我目前使用:
<ul>
<li><span><p>Username:</p></span> <%= current_user.username %></li>
<li><span><p>Country:</p></span> <span><%= current_user.country_name %></span></li>
<br>
<li><p>Bio:</p><p class="bio"><%= current_user.bio %></p></li>
</ul>
显示基于用户的信息。用户名标签有效,它显示用户在注册期间选择的用户名。国家工作,全名fx:美利坚合众国,而不是US。生物也有效。用户可以通过编辑页面进行编辑,它会完美改变。
但现在我需要知道,如何根据用户在注册期间选择的国家/地区使我的语法获取适当的标志。
我真的希望我能在这里得到一些帮助。任何帮助将不胜感激。提前致谢。
也为墙上的长文本道歉,只是想尝试展示我所做的一些研究。我确定我在这里遗漏了一些东西,但是关于此的信息很少。
OBS!使用 Windows 8.1,Ruby on Rails 5。