Ruby on rails 如何显示控制器';.html.erb页面上的s变量(在循环中)?RubyonRails
我的控制器中列出了以下代码:Ruby on rails 如何显示控制器';.html.erb页面上的s变量(在循环中)?RubyonRails,ruby-on-rails,ruby,loops,hash,render,Ruby On Rails,Ruby,Loops,Hash,Render,我的控制器中列出了以下代码: 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
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)上
另外,我如何更改其样式,即使值看起来更小,被很好地隐藏起来???
提前感谢您需要将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>
为什么不做类似的事情呢
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>
控制器中的
@langs={:en=>'english',
:es=>“西班牙语”,
:de=>“德国”,
:fr=>“法语”,
:it=>“意大利”}
鉴于
genius谢谢:)太棒了,实现得非常好!