2012-11-13 16 views
-1

我已經在我的控制器下面列出的以下代碼:如何在.html.erb頁面上顯示控制器的變量(在循環中)? Ruby on Rails的

struc = {'en' => 'english', 'es' => 'espaniol', 'de' => 'germany', 'fr' => 'french', 'it' => 'italy'} 
struc.each_pair do |key, value| 
    @key=key 
    @value=value 
end 

我application.html.erb我有以下

<select name="Language" onchange="location=this.options[this.selectedIndex].value;"> 
    <option value="/<% @key %>/<%= @rem %>"><%= @value %></option> 
</select> 

現在我怎樣才能使'的值@key'和'@value'遞歸顯示在(application.html.erb)上?

另外我怎樣才能改變它的造型,即使價值顯得更小,折入很好?

在此先感謝

回答

3

爲何不像

in controller 

@langs = { :en => 'english', 
      :es => 'espaniol', 
      :de => 'germany', 
      :fr => 'french', 
      :it => 'italy' } 

in view 

<select name="language" onChange="location = this.options[this.selectedIndex].value;"> 
    <% @langs.each_pair do |short, long| %> 
    <option value="<%= short %>"><%= long %></option> 
    <% end %> 
</select> 
+1

天才謝謝:)好極了,實現了它出色的作品很好! – TheMouseMan

2

您將需要STRUC提供給瀏覽者把它變成一個實例變量 - 即@struc。然後在您的視圖做

<select name="Language" onchange="location=this.options[this.selectedIndex].value;"> 

<% @struc.each_pair do |key, value| %> 
     <option value="/<%= key %>/<%= @rem %>"><%= value %></option> 
<% end %> 

</select> 
+1

天才謝謝:) – TheMouseMan

相關問題