小编csc*_*sch的帖子

将整个目录结构的每个文件复制到另一个的基本路径中

我有一个目录树,里面有很多文件.我想将所有这些文件复制到一个新目录中,但所有文件都位于文件夹的基础中.

所以我有这样的事情:

    images
    ??? avatar.png
    ??? bg.jpg
    ??? checkbox.png
    ??? cross.png
    ??? datatables
    ?   ??? back_disabled.png
    ?   ??? back_enabled.png
    ?   ??? forward_disabled.png
    ?   ??? forward_enabled.png
    ?   ??? sort_asc.png
    ?   ??? sort_asc_disabled.png
    ?   ??? sort_both.png
    ?   ??? sort_desc.png
    ?   ??? sort_desc_disabled.png
    ??? exclamation.png
    ??? forms
    ?   ??? btn_left.gif
    ?   ??? btn_right.gif
    ?   ??? checkbox.gif
    ?   ??? input
    ?   ?   ??? input_left-focus.gif
    ?   ?   ??? input_left-hover.gif
    ?   ?   ??? input_left.gif
    ?   ?   ??? input_right-focus.gif
    ?   ?   ??? input_right-hover.gif
    ?   ?   ??? input_right.gif …
Run Code Online (Sandbox Code Playgroud)

linux directory bash find cp

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

渲染部分资产

我正在使用Ruby on Rails 3.1,我想知道如何在javascript资产中渲染部分内容.

我的目标是:

# in /app/assets/javascript/cart.js.coffee.erb
$('a.add_sth').click -> $('.random_container').append('<%= render partial: 'way/to/partial' %>')
Run Code Online (Sandbox Code Playgroud)

这会导致NoMethodError:

undefined method `render' for #<#<Class:0x007fc54584c6e8>:0x007fc5474cd470>
Run Code Online (Sandbox Code Playgroud)

如果我写,<%= 2+3 %>它工作正常,顺便说一句.

我认为问题是资产管道独立于默认的ActionView,这就是为什么render()在那里未知.无论如何,有没有办法让部分内容呈现?

ruby-on-rails ruby-on-rails-3.1 asset-pipeline

7
推荐指数
2
解决办法
6707
查看次数

使用 pg_search 进行子字符串搜索

我用来pg_search搜索产品:

class Product
  include PgSearch

  pg_search_scope(
    :search_for,
    against: %i(sku),
    associated_against: { translations: [:name, :description] },
    using: { tsearch: { prefix: true } }
  )
end
Run Code Online (Sandbox Code Playgroud)

到目前为止效果很好。但我想添加搜索部分关键字的选项,以便客户可以通过输入“45678”找到具有 sku“123456789”的产品。这很容易做到LIKE,但找不到将其与 结合起来的方法pg_search,因此将结果组合并一起排名。

如何pg_search通过部分字符串查找产品?

ruby-on-rails rails-postgresql pg-search

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

Rails:ActiveRecord的default_scope和类继承

我的应用不仅有用户,还有管理员和超级管理员.由于所有三个共享相同的属性,我只想使用一个具有附加属性"角色"的表,可以是"user","admin"或"super_admin":

class User < ActiveRecord::Base
 # with nickname and password
end


class Admin < User

  def power
    puts "admin rights"
  end
end


class SuperAdmin < Admin

  def superpower
    puts "I've got the #{power}!"
  end
end
Run Code Online (Sandbox Code Playgroud)

现在我想做一些事情SuperAdmin.all,只得到SuperAdmins.使用default_scope似乎让我在那里:

class SuperAdmin < Admin
  default_scope where(["role = ?", "super_admin"])

  # ...
end
Run Code Online (Sandbox Code Playgroud)

现在我也将一个default_scope添加到Admin:

class Admin < User
  default_scope where(["role = ?", "admin"])

  # ...
end
Run Code Online (Sandbox Code Playgroud)

Aaaand ... SuperAdmin.all不再返回任何内容.这是为什么?

inheritance activerecord default-scope ruby-on-rails-3.2

5
推荐指数
2
解决办法
2269
查看次数

rake资产:precompile不适用于PostgreSql

我正在尝试部署使用Postgres的Rails 3.2.3应用程序.我通过Capistrano使部署本身工作,数据库迁移也起作用.但现在我被困在预编译资产:

deploy:MyAPP/current$ bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/home/deploy/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /home/deploy/www/MyApp/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
** Invoke assets:precompile:nondigest (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
rake aborted!
FATAL:  role "deploy" does …
Run Code Online (Sandbox Code Playgroud)

postgresql rake asset-pipeline ruby-on-rails-3.2

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