2017-06-02 13 views
0

私はユーザモデルにhas_many:active_postsテーブルを持っています。私はそれが正しく設定されているとかなり確信しています。しかし、既存のオブジェクトをテーブルに追加しようとすると、動作しないように見えます。どんな助けもありがとう!Ruby on railsテーブルが追加のオブジェクトを保存しない

モデルuser.rb

def addpost(other_post) 
    active_posts << other_post 
    end 

ビュー_feed.html.erb

<%= form_for @training_post, :html => {:class => "form-inline"}, url: confirm_training_post_path(post), method: :patch do |f| %> 

    <div class="form-group"> 
    <%= f.submit "Confirm", class: "btn-primary btn-xs form-control" %> 
    </div> 

<% end %> 

コントローラposts_controller.rb

def confirm  
    @post = Post.find_by(id: params[:id]) 
    @user = User.find(params[:id]) 
    @post.toggle!(:confirm) 
    @post.update_attribute(:propreceived, active_post_params[:propreceived]) 
    current_user.addpost(@post) 
    current_user.deletepassivepost(@post) 
    redirect_to root_url 

end 
+0

active_postsと仮定はuser_idpost_idのスキーマを持っていますか? – Nithin

答えて

0

あなたが保存していないように聞こえますユーザのactive_postsをコレクションに追加するだけです。何らかの形でユーザーのactive_postsを保存する必要があります。他の属性がある

user.rb 

def add_post(post) 
    self.active_posts.create(:post => post) 
end 
+0

ありがとう!実際にコレクションに追加するのではなく、別のactive_postを実際にビルドするためにform_forを構成する必要がありました。 –

関連する問題