小编bro*_*lav的帖子

Scala中map和foreach方法的区别?

当我开始编写Scala时,我确实有一个很大的疑问.我想知道mapscala中的方法是如何工作的.是顺序处理还是多线程处理?更重要的是,我想知道为什么map方法比while或更快foreach

val list = List(1,2,3,45,12)
list.map(x => x)
list.foreach(x => println(x))
Run Code Online (Sandbox Code Playgroud)

scala

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

Rails搜索并重定向到另一个页面

我正在研究Rails 3.2,我已经安装了Ransack用于搜索和Kaminari用于分页.这两颗宝石都非常流畅.

我很好奇如何在主页上进行搜索,在用户输入搜索输入后,将他重定向到另一个列出所有结果的页面.

Zomato搜索类似的东西

截至目前,这是控制器代码:

def index
  @search = Product.search(params[:q])
  @products = @search.result.page(params[:page]).per(5)  
end
Run Code Online (Sandbox Code Playgroud)

在我看来,我有:

= search_form_for @search do |f| 
  = f.label :locality_cont 
  = f.text_field :locality_cont 
  = f.submit 
Run Code Online (Sandbox Code Playgroud)

search ruby-on-rails-3 ransack

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

具有AND和OR的复杂Arel条件

我有一个关于用操作优先级ANDOR一个组成几个条件的问题.

所以,我需要生成以下SQL字符串以传递给where方法:

where("NOT ((assignments.to IS NOT NULL AND assignments.to < :start_date) OR assignments.from > :end_date)", start_date: date.at_beginning_of_week, end_date: date.at_end_of_week)
Run Code Online (Sandbox Code Playgroud)

我用Arel重写了它:

table = Assignment.arel_table
where(
  table[:from].gt(date.at_end_of_week).
  or(
    table[:to].not_eq(nil).and(table[:to].lt(date.at_end_of_week))
  ).not
)
Run Code Online (Sandbox Code Playgroud)

但是Arel不会在条件周围放置括号AND,因此这个条件选择了错误的数据.如何在这种情况下放置括号?

ruby-on-rails arel

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

标签 统计

arel ×1

ransack ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1

scala ×1

search ×1