小编ril*_*ley的帖子

Rails日期/时间选择器(希望是jquery)

寻找一个可以与Rails无缝集成的日期和日期时间选择器.我相信有些人必须使用类似的东西.我试过了

  • 不引人注目的日期选择器插件,但它打破了最新版本的Rails.

  • 日历日期选择插件使用原型,我已从我的应用程序中删除,不想添加回来.

  • 活动日历插件 - 打破最新的Rails并入侵修复,但在加载模型时不填写文本字段.

非常感谢.

jquery ruby-on-rails datepicker

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

如何迁移复杂的Rails数据库以使用UUID主键Postgresql

我有一个数据库,我想转换为使用UUID作为postgresql中的主键.

我有大约30个具有深层多级关联的表.有一种"简单"的方法将所有当前ID转换为UUID吗?

从这个:https: //coderwall.com/p/n_0awq,我可以看到我可以在迁移中改变表.我在想这样的事情:

for client in Client.all
  # Retrieve children
  underwritings = client.underwritings
  # Change primary key
  execute 'ALTER TABLE clients ALTER COLUMN id TYPE uuid;'
  execute 'ALTER TABLE clients ALTER COLUMN id SET DEFAULT uuid_generate_v1();'
  # Get new id - is this already generated?
  client_id = client.id
  for underwriting in underwritings
    locations = underwriting.locations
    other_record = underwriting.other_records...

    execute 'ALTER TABLE underwritings ALTER COLUMN id TYPE uuid;'
    execute 'ALTER TABLE underwritings ALTER COLUMN id SET DEFAULT …
Run Code Online (Sandbox Code Playgroud)

migration postgresql uuid ruby-on-rails

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

Rails添加自定义的预先加载

我在Rails中有许多自定义的find_by_sql查询.我想用它们急切加载,但似乎没有一个好方法来做到这一点.

我已经看到eager_custom.rb文件浮动,现在它似乎不适用于Rails.看起来Rails现在急切地加载,使用2个查询(常规查询加上查询,其中'id IN'来自第一个查询的ID),而不是过去使用的单个连接查询.

我的问题是,如果我执行自定义SQL查询,然后执行'id IN'查询,有没有办法将关联对象添加回初始查询结果?

例如,我有使用find_by_sql加载的主题,然后我找到主题ID在主题ID中的主题图像,有没有办法手动将图像添加回主题?

谢谢

activerecord ruby-on-rails eager-loading

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

用于用户设计表单的数据存储区 - NoSQL for EAV的任何优点

我需要在我的软件中通过Web界面允许用户设计的表单创建.即,他们创建一个问题,类型(文本,广播,复选框等),选项(如果需要)(无线电/支票),然后添加,并继续在此过程中,直到他们在表单中创建所有字段.

除了查看/填写/打印它们之外,不会对它们进行任何查询,即它们添加可以无限次填写的"问卷"(有些可能是20次,数百万次).

经过一些研究后,似乎EAV类型的解决方案听起来不错,除了那里有很多负面看法.很多人建议在这种情况下使用NoSQL数据库,但我并没有真正看到它们的优点 - 你仍然拥有一个包含许多字段的表单,然后是许多字段的结果.

某些字段(text/text_area/date)会有一个可能的值,但许多字段也有多个选项(单选按钮,选择下拉菜单,复选框).

这是传统SQL中的示例设计:

form:creator_id,name

form_field:form_id,order,question,type(text,text_area,date,radio,select,check)

form_field_option:form_field_id,名称,值,顺序(用于收音机/选择/检查)

form_result:form_id,application_id(不是我使用的名称,但所有结果都属于'应用程序')

form_field_value:form_result_id,form_field_id,form_field_option_id,value(如果选项字段的值为空,则text_field_option_id的文本字段为空)

基于此构建表单并获得结果似乎相当容易.它可能或可能不完全有效但是说一个典型的形式是5-30个问题,那会不会很糟糕?

把它放在NoSQL数据库中是否有任何优势,即Mongo或类似的东西?如果是这样,你能给我具体的例子,给我一个样本设计吗?我已经看到很多答案,比如'NoSQL更适合这个',但我没有这方面的经验,是因为更快的检索结果,还是什么?使用NoSQL会有什么缺点?

谢谢

mongodb dynamic-forms nosql entity-attribute-value

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

如何输出所有属性jbuilder,而不必全部指定它们?

我正在使用json在postgresql中存储我的数据的文档版本.我想输出一个完整的对象树,包括孩子,孩子的孩子等以及所有属性.如果以后将任何属性添加到任何对象,我希望它们包含在后续的json中.

有没有办法输出整个内容而不必至少每个属性?即不是这样的:

json.(object_name, :id, :attr1, :attr2.... etc)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

如何强制默认架构公寓宝石的公共架构?

我正在将 Apartment gem 与 Unicorn 和 Nginx 一起使用。我正在使用子域电梯。在initializers/apartment/subdomain_exclusions我有Apartment::Elevators::Subdomain.excluded_subdomains = ['www']

我的理解是公共架构现在应该与公共子域、www 子域或没有子域(即 mydomain.com)一起使用。

但是,它不是这样工作的。当我使用 www 或不使用子域时,它使用上次访问的架构。因此,如果我只是使用另一个子域,它将使用该架构。这是不好的。我什至尝试添加,config.default_schema = "public"但这没有任何作用。

任何想法为什么这不起作用?有没有人以类似的方式设置它并且在没有指定子域时只使用公共模式?它可能是Nginx配置吗?

ruby-on-rails apartment-gem

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

如何通过代码检索条纹促销代码

看起来在 Stripe 中,您可以通过 id 检索促销代码:

Stripe::PromotionCode.retrieve(
  'promo_1Hd0sBG03p6y1vChab7Jh6Zs',
)
Run Code Online (Sandbox Code Playgroud)

但是,我看不到通过实际面向客户的代码 ex 来检索它的方法FIFTYOFF。有没有办法做到这一点?

这似乎没有意义,这是不可能的,因为这是用户将拥有的所有数据。我需要保留每个促销代码的本地数据库副本并与面向客户的代码相关联,或者查找我的所有代码并迭代它们以找到实际的促销代码 ID。

stripe-payments

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

有条件地Rails 3或arel链/合并SQL条件

Rails 3中有没有办法有条件地合并记录条件而不进行字符串或数组合并?

例如:

    conditions = #?    
    if !params[:x].blank?
      # add a condition
    end
    if user.role?(:admin)
      # add a condition
    end
    if params[:y]
     # add a condition
    end
    etc
    result = Record.where(xx).group(:id).order(some_var) 
    # xx would merge all then group and order
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails arel

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