标签: ruby

没有数据库的Rails模型

我想用ActiveRecord验证创建一个Rails(2.1和2.2)模型,但没有数据库表.什么是最广泛使用的方法?我发现一些声称提供此功能的插件,但其中许多插件似乎没有得到广泛使用或维护.社区推荐我做什么?现在我倾向于根据这篇博文提出我自己的解决方案.

ruby activerecord ruby-on-rails

66
推荐指数
6
解决办法
7万
查看次数

有没有办法避免自动更新Rails时间戳字段?

如果您有DB列created_at,updated_atRails将在您创建和更新模型对象时自动设置这些值.有没有办法保存模型而不触及那些列?

我正在引入一些遗留数据,我想从(不同命名的)遗留数据字段中的相应值设置这些值.我发现当我在模型上设置然后保存模型时,Rails似乎会覆盖传入的值.

当然,我可以不同地命名Rails模型列以防止这种情况,但是在导入数据之后,我希望Rails执行其自动时间戳操作.

ruby activerecord timestamp ruby-on-rails

66
推荐指数
5
解决办法
3万
查看次数

Rails:在数据库中没有元素时显示消息的优雅方式

我意识到我正在写很多类似于这个的代码:

<% unless @messages.blank? %>
  <% @messages.each do |message|  %>
    <%# code or partial to display the message %>
  <% end %>
<% else %>
  You have no messages.
<% end %>
Run Code Online (Sandbox Code Playgroud)

Ruby和/或Rails中是否有任何构造可以让我跳过第一个条件?所以当迭代器/循环不会进入一次时会执行?例如:

<% @messages.each do |message| %>
  <%# code or partial to display the message %>
<% and_if_it_was_blank %>
  You have no messages.
<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby iterator loops ruby-on-rails

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

在Ruby中创建二维数组和访问子数组

我想知道是否有可能创建一个二维数组并快速访问其中的任何水平或垂直子数组?

我相信在以下情况下我们可以访问水平子数组:

x = Array.new(10) { Array.new(20) }

x[6][3..8] = 'something'
Run Code Online (Sandbox Code Playgroud)

但据我了解,我们无法像这样访问它:

x[3..8][6]
Run Code Online (Sandbox Code Playgroud)

我怎样才能避免或破解这个限制?

ruby arrays multidimensional-array

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

用ruby中的数字连接字符串

我是红宝石的初学者,所以这是一个非常新手的问题.

我试图连接一个字符串与浮动值,如下所示,然后打印它.

puts " Total Revenue of East Cost: " + total_revenue_of_east_cost 
Run Code Online (Sandbox Code Playgroud)

total_revenue_of_east_cost是一个保持浮点值的变量,我怎样才能打印?

ruby

66
推荐指数
4
解决办法
8万
查看次数

如何从rails模块访问URL帮助程序

我有一个带功能的模块.它位于/lib/contact.rb中:

module Contact
  class << self
    def run(current_user)
      ...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我想访问模块中的'users_path'之类的URL帮助程序.我怎么做?

ruby url model ruby-on-rails helper

66
推荐指数
4
解决办法
4万
查看次数

Ruby - 如何从字符串中选择一些字符

我试图找到一个函数选择例如字符串的前100个字符.在PHP中,存在substr 函数

Ruby有一些类似的功能吗?

ruby string function char substr

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

Ruby:如何将数组数组连接成一个数组

我在Ruby on Rails(3.1)中有一个数组数组,其中所有内部数组都有不同的大小.有没有办法轻松连接所有内部数组,以获得所有项目的一个大的一角形数组?

我知道你可以使用Array :: concat函数来连接两个数组,我可以做一个循环依次将它们连接起来,像这样:

concatenated = Array.new
array_of_arrays.each do |array|
    concatenated.concat(array)
end
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有类似Ruby的单行程,可以更干净的方式完成.

谢谢你的帮助.

ruby arrays concatenation multidimensional-array

66
推荐指数
3
解决办法
6万
查看次数

从Rakefile执行bash命令

我想bash从一个执行一些命令Rakefile.

我在我的尝试中尝试了以下内容 Rakefile

task :hello do
  %{echo "World!"}
end
Run Code Online (Sandbox Code Playgroud)

但在执行rake hello时没有输出?如何从Rakefile执行bash命令?

注意:这不是重复,因为它具体询问如何从Rakefile执行bash命令.

ruby bash rake

66
推荐指数
4
解决办法
4万
查看次数

关于空belongs_to关联的最佳实践

想象一下以下情况:

我有一个dog模型和一个house模型.狗可以属于房子,房子可以有很多狗,所以:

Class Dog <  ActiveRecord::Base
  belongs_to :house
end

Class House < ActiveRecord::Base
  has_many :dogs
end
Run Code Online (Sandbox Code Playgroud)

现在,想象一下,我也想创造没有房子的狗.他们不属于房子.我是否仍然可以使用该关系结构,并且只是:house_id在创建它时不通知?

有更好的做法吗?

Obs.:我用这个类比来简化我的问题,但我的真实情况是:我有一个模型,用户可以生成它的实例.他还可以创建这些实例的集合,但是他可以将一个实例留在集合之外.

ruby activerecord ruby-on-rails

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