我有以下型号:确保阵列中的至少一个项目存在于另一个
class Post < ActiveRecord::Base
has_and_belongs_to_many :countries
end
class User < ActiveRecord::Base
has_many :entitlements
has_many :countries, :through => :entitlements
end
邮政索引页帖子必须至少有一个国家是一样的用户的国家之一。
我已经在我的模型和冗长的控制器代码中尝试了各种范围,但我无法弄清楚如何检查应该是一个简单的关系:Post.countries中是否至少有一个项目存在于User.countries中。
大大收到的任何帮助。
更新:
好了,我有我的控制器中的以下内容:
def index
@user = current_user
@user.countries.each do |user_country|
@user_country_posts += Country.find(user_country.id).posts
end
@posts = @user_country_posts
end
这是通过迭代user.countries并找到每个岗位对这些国家。但是当我运行它时,我得到:
NoMethodError: undefined method `+' for nil:NilClass
任何想法我做错了什么?
我不明白..只显示帖子,至少有1个国家? – Lichtamberg