0

嗨,我是 Ruby on Rails 的新手。我的视图中有 html 选择和标签元素。

但是当我尝试通过 params[:select_id] 获取它们的值时,它返回 nil。所以 html 元素不存在于 params 哈希中。这是我的视图页面的代码:

 <%=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%>

谢谢

4

2 回答 2

0

您没有任何名称为“select_id”的 HTML 元素。您有三个名为“列表”(可能不是您想要的)和一个名为“隐藏”的隐藏字段。

查看你的 development.log ,它将显示参数哈希中传递的内容。

于 2013-06-25T19:58:19.933 回答
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

于 2013-06-25T20:21:16.570 回答