我有一个rails应用程序,我使用连接表来获取用户歌词,反之亦然。由于一些奇怪的原因,我无法得到用户歌词的计数。当我从用户模型中删除通过选项时它工作正常,但我需要它通过共享来工作,以便用户可以共享歌词。有人有类似的问题或解决方案吗?
User.rb
has_many :shareships
has_many :lyrics, through: :shareships, dependent: :destroy
Lyric.rb
has_many :shareships
has_many :users, through: :shareships, dependent: :destroy
Shareship.rb
attr_accessible :lyric_id, :user_id
belongs_to :lyric
belongs_to :user
这是我在视图中用来显示歌词计数的代码
#Returns 0
<%= @user.lyrics.count %>
答案 0 :(得分:0)
您可以使用
获取数据<%= total_user_lyrics = @user.lyrics.count %>
如果user
没有lyrics
,则会返回0
。所以先检查一下
在您的控制台中
@user.lyrics
它将返回的内容检查它,如果它将返回nil然后当您尝试@user.lyrics.count
时。您将获得0
,因为@user.lyrics
没有记录。
反之亦然
<%= total_lyric_users = @lyric.users.count %>