2011-11-08 9 views
0

選択を入力してマイクロポストテーブルに入力します。選択はカテゴリテーブルからのものです。マイクロポストのカテゴリ欄の問題は空白ですので、カテゴリのテーブルマイクロポスト欄にデータを入力できないと思われます。私は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:categories? – chrispanda

答えて

0

あなたのクエリをチェックする場合は、

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

があなたの代わりにselect

を使用することができ、それを修正するための名前 categoryない micropost[category]と、フォーム内のフィールドを生成するので、そのパラメータ categorymicropost属性から別々に送信され表示されるはずです
<% 
    cat = Category.select("category").group("category").map(&:category) 
%> 
<%= select :micropost, :category, options_for_select(cat) %> 
関連する問題