我有以下型号:与滑轨的has_many关系访问模型数据
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
has_many :rulesets
end
class Ruleset < ActiveRecord::Base
attr_accessible :title, :game_id, :user_id
validates :game_id, presence: true
validates :user_id, presence: true
validates :title, presence: true
belongs_to :user
belongs_to :game
has_many :rules
end
class Rule < ActiveRecord::Base
attr_accessible :description, :ruleset_id
belongs_to :ruleset
validates :description, presence: true
validates :ruleset_id, presence: true
end
我有一个名为PagesController控制器,其控制该用户的仪表板,其中,我想显示的规则的规则集的数量和数量用户拥有。这是我的控制器
class PagesController < ApplicationController
def home
end
def dashboard
@rulesets = current_user.rulesets
end
end
在我的仪表板视图,我试图显示规则集和规则算作这样的:
<% if current_user.rulesets.any? %>
<li><%= @rulesets.count %> Ruleset</li>
<li><%= @rulesets.rules.count%> Rules</li>
<% end %>
这将返回规则集,如果我只是尝试和计数的权数规则集。当我尝试计算规则时,我得到了这个和“未定义的方法规则”错误。我应该如何访问用户规则集中的规则?
啊,这个工作。谢谢! – 2013-03-14 15:27:19
我这种情况下,每个规则集都存储在| r |中目的? – 2013-03-14 15:32:18
不,规则集存储在@rulesets变量中。给定规则集的所有规则都会在r遍历规则集数组时存储在r中。 – johnkoht 2013-03-15 03:43:51