Rails 3: has_many: проблема сохранения? - PullRequest
2 голосов
/ 18 декабря 2010

Я надеялся, что кто-нибудь сможет объяснить мне, почему я не могу сохранить новую запись?

class User < ActiveRecord::Base

    has_many :viewed_posts, :dependent => :destroy
    has_many :posts, :through => :viewed_posts

    def update_viewed_posts(post)
        if viewed_posts.where("id IN(?)", post.id).blank?
            puts '----------------------- NEVER READED POST'
            viewed_posts.build(:question_id => post.id, :user_id=> self.id)
        end
    end
end

class ViewedPosts < ActiveRecord::Base
    belongs_to :post
    belongs_to :user
end

У меня вопрос, когда я вызываю update_view_posts запись метода никогда не сохраняется?Зачем? РЕДАКТИРОВАНИЕ: Добавлен мой контроллер.Я звоню update_view_posts на шоу-шоу.

class PostsController < ApplicationController
    respond_to :html

    before_filter :find_post, :only => [:show, :edit, :update, :destroy]

  def show
        if current_user
            current_user.update_viewed_posts(@post)
        end
    respond_with(@post)
  end
end

1 Ответ

1 голос
/ 18 декабря 2010

Может быть, вы хотите:

belongs_to :post

вместо

belongs_to :posts
...