Rails 新人问一个关于 select_tag 问题

shin · 2012年05月25日 · 最后由 shin 回复于 2012年05月26日 · 3101 次阅读

我要做选择查询功能,怎么把 select 标签里面的选择的 pc 或者 user 的值传到 :ABC 里呢?

View 页面

<%= form_tag "computers/select_db" do %>
    <%= select_tag :ABC, "<option>pc</option><option>user</option><option>3</option><option>4</option>".html_safe %>
    <%= text_field_tag [:select_c] %>
    <%= submit_tag (value = "查询") %>
<% end %>

Controller/computers

def select_db
     if
       @computer = Computer.where(:ABC => params[:select_c])
       render :action => "select_show"
     end
  end

或者有其他写法吗?

http://guides.rubyonrails.org/form_helpers.html#the-select-and-option-tags select 的 option 由两部分组成,一个是 value,一个是字面显示的文字。

<option value="1">Lisbon</option>
<option value="2">Madrid</option>

form 会自动上传选择的 option 的 value 值。 因此:

<%= form_tag "computers/select_db" do %>
    <%= select_tag :ABC, "<option value='pc'>pc</option><option value='user'>user</option><option value='3'>3</option><option value='4'>4</option>".html_safe %>
    <%= submit_tag (value = "查询") %>
<% end %>
controller:
  params[:ABC]

@zhaoguobin 非常谢谢! 里的 value 我没写,所有没搞定!现在 ok 了!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号