我想要做的是通过关于has_many:through关系的模型的列,在Active Record关系中对记录进行分组,但我不知道最好的方法是什么.
首先,我的模特:
User has_many :subscriptions
has_many :courses, :through => :subscriptions
Subscription belongs_to "both"
Course has_many :subs...
has_many :users, :through => :subscriptions
Run Code Online (Sandbox Code Playgroud)
我抓住与current_user相关的课程就像这样:@courses = current_user.courses
我希望能够做到这样的事情:@courses = current_user.courses.group('subscriptions.state')< - 这显然不起作用.
此外,在记录分组后,在视图中循环显示它们的正确方法是什么?在我的应用程序的另一个地方,我分别使用group_by和each_pair来实现这一点,但这是一个单独的模型.
我在网上购买了一个漂亮的Twitter Bootstrap,这将为我的Rails 3.2.8应用程序增添趣味.该软件包包含以下目录:
/css
/img
/js
Run Code Online (Sandbox Code Playgroud)
当然,这些文件将在其中具有相互之间的相对链接.是否存在将此类内容整合到资产管道中的标准方法,还是将其公开的标准做法?
ruby-on-rails asset-pipeline twitter-bootstrap ruby-on-rails-3.2
我正在开发一个CRUD界面来管理我的应用程序中的用户.我有一个常量User :: ROLES,它是一个在我的应用程序(管理员,教师,学生)中具有有效用户角色名称的数组.
我想要做的是,在控制器的索引操作中,有一个循环遍历ROLES常量的块,并从@users创建一个范围化的实例变量(已经在块之前初始化).这是索引方法到目前为止的样子:
def index
@users = user.all
#@students = @users.where(:role => "student") # This works by itself
User::ROLES.each do |r|
@r = @users.where(:role => r.to_s)
end
end
Run Code Online (Sandbox Code Playgroud)
所以我希望能够通过块传递的内容命名实例变量,所以@r创建@admin,@ teacher等等.因为我是ruby和rails的新手,所以我不太明白这样做的语法这个.谁知道?无论如何,这可能是更好的方法.
编辑
只是为了让每个人都知道,我希望在索引操作的视图中使用它来显示按角色分组的用户列表.当然,它也将在整个CRUD界面中以其他方式使用,这就是为什么我之前没有澄清用例,因为它是多用途的.