2011-07-16 6 views
0

私はattr_accessor :politics, :tech, :entertainment, :sports, :science, :crime, :business, :social, :nature, :otherを私のpost.rbに入れました(これらはタグです)、私はそれらを仮想にします。なぜこれはActs_as_taggable_onで動作しない

はその後new.html.erbに私は

<%= f.check_box :politics %> 
<%= f.label :politics %> 

<%= f.check_box :tech %> 
<%= f.label :tech, 'Technology' %> 

<%= f.check_box :entertainment %> 
<%= f.label :entertainment %> 

<%= f.check_box :sports %> 
<%= f.label :sports %> 

<%= f.check_box :science %> 
<%= f.label :science %> 

<%= f.check_box :crime %> 
<%= f.label :crime %> 

<%= f.check_box :business %> 
<%= f.label :business %> 

<%= f.check_box :social %> 
<%= f.label :social %> 

<%= f.check_box :nature %> 
<%= f.label :nature %> 

<%= f.check_box :other %> 
<%= f.label :other %> 

を持っているので、それぞれがdef create下post_controller.rbで、最後に、その後、trueまたはfalseに設定されていることを私は

@post.tag_list << 'politics' if :politics 
@post.tag_list << 'tech' if :tech 
@post.tag_list << 'entertainment' if :entertainment 
@post.tag_list << 'sports' if :sports 
@post.tag_list << 'science' if :science 
@post.tag_list << 'crime' if :crime 
@post.tag_list << 'business' if :business 
@post.tag_list << 'social' if :social 
@post.tag_list << 'nature' if :nature 
@post.tag_list << 'other' if :other 
を持っています

私はコンソールにpost.tag_listを行うときしかし、私はタグ#=>のすべての応答を得る「政治、技術、...自然を、他の」

なぜですか?私はそれを確認しないと、ビジネス= falseですか?

答えて

1

コントローラは次のようになります。

@post.tag_list.clear 
@post.tag_list << 'politics' if params[:post][:politics] 
@post.tag_list << 'tech' if params[:post][:tech] 
@post.tag_list << 'entertainment' if params[:post][:entertainment] 
@post.tag_list << 'sports' if params[:post][:sports] 
@post.tag_list << 'science' if params[:post][:science] 
@post.tag_list << 'crime' if params[:post][:crime] 
@post.tag_list << 'business' if params[:post][:business] 
@post.tag_list << 'social' if params[:post][:social] 
@post.tag_list << 'nature' if params[:post][:nature] 
@post.tag_list << 'other' if params[:post][:other] 

シンボル自体は常にtrueと評価されます。これは変数よりも定数に似ています。だから、決してそれに割り当てられた価値はありません。

+0

ええと、これはまだすべてtrueに評価されます – Vasseurth

+0

モデルのbefore_saveは機能しますか? – Vasseurth

+0

あなたのログを見て、 "Parameters:"行を投稿できますか? – aNoble

関連する問題