2016-12-14 29 views
1

我在我的Rails 5應用程序中安裝了此標誌圖標scss gem。Rails 5 - 具有動態國家輸入的標誌圖標

https://github.com/eugenegarl/flag-icons-rails 

現在我試圖找出如何我可以讓助手從地址表得到的國家名稱,並使用該顯示正確的標誌與我的地址模型中使用它。我無法找到一種方法爲標誌助手提供動態輸入。

寶石的自述具有指令,我不能做的意義:

Do not add gem to assets section if you want to use flag_icon rails helper. 

哪些資產?我將寶石添加到gemfile中,然後添加到附件中:

@import "flag-icon"; 

我的application.scss - 這是一項資產。如果自述文件中的指令意味着如果您想使用幫助程序不使用該行,則我嘗試從application.scss中刪除該導入行。刪除該行並沒有解決我的問題(所以它回來了)。

我有一個地址模型,裏面有一個國家屬性。

a = Address.last.country 
    Address Load (0.9ms) SELECT "addresses".* FROM "addresses" ORDER BY "addresses"."id" DESC LIMIT $1 [["LIMIT", 1]] 
=> "AU" 

我希望能夠在標誌圖標助手中使用「國家」,以便它呈現相應的標誌。

在我看來,我曾嘗試:

 <%= flag_icon(Address.last.country) %> 

     <%= flag_icon(Address.last.country.to_sym) %> 

無論這些嘗試的工作。他們不會產生任何錯誤,他們只是不渲染地圖。

的映射工作,因爲如果我嘗試:

<%= flag_icon(:au) %> 

它打印正確的標誌。

我該如何給幫手一個動態的國家輸入?

回答

0

跑進類似的問題。我使用gem 'country_select'

原來,符號是CAPS,所以沒有工作。

嘗試改變下列:

<%= flag_icon(Address.last.country.to_sym) %>

到:

<%= flag_icon(Address.last.country.downcase.to_sym) %>

(注意在上面添加的.downcase)。