2011-11-08 66 views
0

我想輸入選項並將其輸入到micropost表中。選擇來自類別表。它遇到的微博的類別欄的問題是空白的,所以我懷疑它不能將數據輸入到類別的微博列表中。我搜索所有select,select_tag但無法解決它...有什麼我錯過了嗎?Select_tag錯誤:錯誤消息:類別不能爲空

<%= form_for @micropost do |f| %> 
<%= render 'shared/error_messages', :object => f.object %> 
<%= f.label :title %><br /> 
<%=h f.text_field :title %><br /> 

<%= f.label :content %><br /> 
<%=h f.text_area :content, :row => 30, :cols=> 30 %><br /> 

<% @category = Category.select("category").group("category") 
    cat = @category.map{|u| u.category} 
%> 
    <%= select_tag :category, options_for_select(cat) %> 


<%= f.submit "Post" %> 

<% end %> 
+0

你能告訴我們模型的關聯 - 我猜測麥克風ropost has_many:類別? – chrispanda

回答

0

如果你檢查你的查詢,你應該看到,參數category分開micropost屬性發送,因爲

<% 
    @category = Category.select("category").group("category") 
    cat = @category.map{|u| u.category} 
%> 
<%= select_tag :category, options_for_select(cat) %> 

產生內部形狀字段名稱categorymicropost[category]來解決它,你可以使用select代替

<% 
    cat = Category.select("category").group("category").map(&:category) 
%> 
<%= select :micropost, :category, options_for_select(cat) %>