小编Gor*_*McD的帖子

如何在has_many:through关联上对Active Record关系进行分组

我想要做的是通过关于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来实现这一点,但这是一个单独的模型.

activerecord ruby-on-rails ruby-on-rails-3

10
推荐指数
1
解决办法
1万
查看次数

是否有一个"Rails方式"将Twitter Bootstrap主题折叠到Rails 3应用程序中?

我在网上购买了一个漂亮的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

6
推荐指数
1
解决办法
808
查看次数

使用块来命名和创建实例变量[Ruby-on-Rails]

我正在开发一个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界面中以其他方式使用,这就是为什么我之前没有澄清用例,因为它是多用途的.

ruby closures ruby-on-rails block

1
推荐指数
1
解决办法
530
查看次数