小编old*_*7uk的帖子

rails如何找到没有相关记录

我知道这将是一个简单的问题,但我正在解决这个问题.

我有用户可以有很多结果.我正在尝试找出如何将尚未有任何结果的用户返回到@starters对象(来自控制器).

@users = @event.entires

@starters = @users.where("results = ?", 0)
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我如何检查用户是否没有结果?

controller ruby-on-rails associations

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

如何在rails中生成期间将自定义列添加到CSV

我目前正在从我的rails应用程序导出CSV文件,它工作正常,但我想向csv添加更多的数据.

目前我正在使用:

 CSV.generate do |csv|
  csv << column_names
  all.each do |item|
    csv << item.attributes.values_at(*column_names)
  end
end
Run Code Online (Sandbox Code Playgroud)

要生成包含目标模型中所有数据的csv,但是想要添加一个额外的列,manufacturer_name将从父模型中获取..类似于:

 CSV.generate do |csv|
  csv << column_names,
  csv << "manufacturer_name"
  all.each do |item|
    csv << item.attributes.values_at(*column_names),
    csv << Manufacturer.find(item.manufacturer_id).first().name
  end
end
Run Code Online (Sandbox Code Playgroud)

我如何正确地写这个,以便将"manufacturer_name"设置为新的列标题,并将每个项目的制造商名称拉入并放入正确的列?

csv export ruby-on-rails

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

rails"where"声明:如何忽略空白参数

我是Rails的新手,我有一种感觉,我正在从错误的角度接近这个但是这里......我有一个显示车辆的列表页面,我正在尝试添加过滤功能,用户可以过滤结果通过vehicle_size,制造商和/或payment_options.

使用三个选择表单字段,用户可以设置以下值:vehicle_size,:manufacturer和/或:payment_options参数,并将这些值提交给我正在使用的控制器

@vehicles = Vehicle.order("vehicles.id ASC").where(:visible => true, :vehicle_size => params[:vehicle_size] )
Run Code Online (Sandbox Code Playgroud)

一种查询.这适用于单个参数(上面返回的结果是正确的车辆尺寸)但我希望能够传递所有3个参数而不会得到任何结果,如果其中一个参数留空.

有没有办法在不经过编写过程的情况下执行此操作if语句定义不同的where语句,具体取决于params的设置?如果我添加更多过滤器选项,这可能会变得非常繁琐.如果has_key解决方案的效果可能是某种内联:

@vehicles = Vehicle.order("vehicles.id ASC").where(:visible => true, if(params.has_key?(:vehicle_size):vehicle_size => params[:vehicle_size], end if(params.has_key?(:manufacturer):manufacturer => params[:manufacturer] end )
Run Code Online (Sandbox Code Playgroud)

对N00b问题表示歉意,并提前致谢.

ignore ruby-on-rails where params

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

标签 统计

ruby-on-rails ×3

associations ×1

controller ×1

csv ×1

export ×1

ignore ×1

params ×1

where ×1