您好我是Ruby on Rails的新手。我在视图中有html选择和标签元素。
但是当我尝试通过params [:select_id]获取它们的值时,它返回nil.So hms元素不存在于params hash中。这是代码 我的观点页面:
<%=form_tag do %>
<select id="selectmarka" name="lists">
<% @MarkaAdi.each do |m| %>
<option value="<%=m.MarkaAdi %>"><%=m.MarkaAdi %></option>
<%end%>
</select>
<% @TipAdi=List.where("MarkaAdi='"+session[:key] +"'")%>
<select id="selecttip" name="lists">
<% @TipAdi.each do |t| %>
<option value="<%=t.TipAdi %>"><%=t.TipAdi %></option>
<%end%>
</select>
<%=session[:key]%>
<input type="hidden" id="hid" name="hid" value="<%=session[:key] %>" />
<select id="year" name="lists">
<%(1999..2013).each do |i| %>
<option value="Y"+"<%=i%>"><%=i%></option>
<%end%>
</select>
<br>Deger:<label id="deger" name="deger"><%=@result%></label>
<br>Marka Kodu:<label id="markakodu" name="markakodu"></label>
<br>Tip Kodu:<label id="tipkodu" name="tipkodu"></label>
<%end%>
谢谢
答案 0 :(得分:0)
您没有任何名称为&#39; select_id&#39;的HTML元素。你有三个名为&#39; list&#39; (可能不是你想要的)和一个名为&#39; hid&#39;。
的隐藏字段查看您的development.log,它将显示params散列中传递的内容。
答案 1 :(得分:0)
我强烈建议您使用Rails表单助手
创建HTML输入<%= form_tag do %>
<%= text_field_tag :an_input, 'a default value' %>
<%= text_area_tag :a_textarea, 'a default value' %>
<%= select_tag options_for_select([ ['value', 'key'], [...] ]) %>
<%= submit_tag %>
<% end %>
这样,Rails将根据您对输入的命名方式为您生成适当的参数。您可能希望阅读这本写得很好的指南http://guides.rubyonrails.org/form_helpers.html
另外,按照惯例,编写ruby代码应该以“snake_case”完成,因此@MarkaAdi
应该是@marka_adi