参数是零或空的

时间:2013-06-25 19:37:18

标签: ruby-on-rails-3.2

您好我是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%>

谢谢

2 个答案:

答案 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