小编Sim*_*tti的帖子

ruby有一种优雅的方式来说array2 = some_lookup_method(array1)

我有一个short_code[]包含一系列短产品标识符的数组,例如["11111", "2222", "33333"]

我想创建一个包含相应"长代码"数据的数组副本:

long_code[i] = my_lookup_long_code(short_code[i])
Run Code Online (Sandbox Code Playgroud)

虽然简单的迭代很容易,但我想知道,作为一个相对红宝石的新手,什么是创建数组的"红宝石方式",这是一个简单的方法()应用于原始数组中的每个元素?

ruby arrays methods

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

Rails - 重定向问题

我的项目中有许多用户可用.每个用户都有不同的主页.而且我有一个默认的主页.我的实际代码在这里..

requested_url = "/limited/username"  #It is constantly changing.  
redirect_to(requested_url || :action => "index", :controller => "demo")
Run Code Online (Sandbox Code Playgroud)

所以,它像这样重定向页面http://localhost:3000/demo/index?%2Flimited=username.但是,实际上我需要像这样重定向的URL http://localhost:3000/limited/username.

如果requested_url为空,则重定向正确.(http://localhost:3000/demo/index).但是,如果它不是空的话,那就会错误地重定向.

请告诉我这里有什么问题?

ruby url redirect ruby-on-rails

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

如何在Rails中的子文件夹中组织迁移文件?

有没有办法在db/migrate文件夹中组织迁移文件?

因为你在这个文件夹中很快就有大量的迁移文件,所以有这样的东西会很棒:

  • db/migrate/user_migrations/
    • timestamp_create_users.rb
    • timestamp_create_addresses.rb

等等...

有一个简单的方法吗?某种配置?这是一种不好的做法,我绝对不应该这样做吗?

如果有人有任何关于此的信息,我会很高兴听到!

ruby directory ruby-on-rails rails-migrations

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

通过嵌套属性创建用户时防止仅设计确认电子邮件

我可以选择使用嵌套属性创建用户。我只想跳过确认电子邮件。但

class ShipperOrder < ActiveRecord::Base
  belongs_to :user
  accepts_nested_attributes_for :user
end

class User < ActiveRecord::Base
  has_many :shipper_orders
end
Run Code Online (Sandbox Code Playgroud)

控制器

class ShipperOrdersController < ApplicationController
  def create
    @shipper_order = ShipperOrder.new(order_params)
    if @shipper_order.save
        flash[:notice] = "Shipper order created"
    else
        flash.now[:alert] = @shipper_order.errors.full_messages.join(", ")
        render :error
    end
  end

  private

  def order_params
    params.require(:shipper_order).permit({user_attributes: [:first_name, :email,
     :last_name,:mobile_phone, :password, :terms_of_service, :password_reset_required 
     ]}, :description)
  end
end
Run Code Online (Sandbox Code Playgroud)

现在我正在创建一个订单,如果用户想将此订单分配给数据库中不存在的用户。然后我在nested_attributes 的帮助下创建该用户。一切正常。我只想禁用此类用户的确认电子邮件。

ruby ruby-on-rails devise devise-confirmable

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

Rails 4 ActiveRecord - 如何查看如何解释数据库查询?

我有这些模型:

老师

class Teacher < ActiveRecord::Base
  has_many :days
end
Run Code Online (Sandbox Code Playgroud)

class Day < ActiveRecord::Base
  belongs_to :teacher
end
Run Code Online (Sandbox Code Playgroud)

并运行这些查询:

  active_teachers = Teacher.joins(:days).where("teacher.id" => found_teachers.pluck(:teacher_id).uniq, "days.day_name" => selected_day)
Run Code Online (Sandbox Code Playgroud)

查询(应该)的作用是:found_teachers所有具有重复的教师的数组,删除双重性并仅选择那些在相应日期具有类的教师(例如selected_day,包含字符串Monday).

因为变量中的数据量active_teachers是如此之大,以至于我无法手动记录记录(我不确定我是否正确地构建了这个查询,它确实完全符合我的要求),我试图找出它是怎么回事此查询从ActiveRecord转换为SQL.

通常我会在终端中看到Rails应用程序运行服务器的所有内容,但截至目前,我没有看到此查询说明.

所以问题是,我怎样才能看到ActiveRecord查询如何转换为SQL?

先感谢您.

ruby mysql join ruby-on-rails rails-activerecord

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

Rails:如何找出哪个父对象具有最大的子记录

这是我正在使用的两个模型,

用户模型

class User < ActiveRecord::Base
  has_many :products
end
Run Code Online (Sandbox Code Playgroud)

产品型号

class Product < ActiveRecord::Base
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

现在我想找出哪个用户拥有最大数量的产品。

我知道我可以通过为用户和相关产品构建一个循环来找出答案,但是有没有办法通过活动记录查询来找出答案?

sql ruby-on-rails rails-activerecord

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

'$('不允许作为全局变量名

我写了这一行:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Run Code Online (Sandbox Code Playgroud)

在我的命令行,它不起作用.

我有消息:

-e:1: '$(' is not allowed as a global variable name.
Run Code Online (Sandbox Code Playgroud)

这是错误的屏幕截图:

在此输入图像描述

ruby homebrew ruby-on-rails

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

LotusRb与Ruby on Rails

LotusRb和Ruby on Rails之间的主要区别是什么.乍一看,LotusRb看起来与Rails非常相似.与Rails相比,Lotus的优缺点是什么?

ruby model-view-controller ruby-on-rails web-frameworks hanami

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

Rails .includes() 返回“未定义的方法”

我有一个带有关联位置的 Company 对象。

公司 has_many :locations 位置所属地 :company

当我打电话时:

@company = Company.find(5).includes(:locations)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

NoMethodError: undefined method `includes' for #<Company:0x000000066ad398>
Run Code Online (Sandbox Code Playgroud)

据我所知,我正在按照 ruby​​onrails.org 的说明进行操作。

activerecord ruby-on-rails associations rails-activerecord

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

获取哈希值

如何在不指定密钥的情况下仅从哈希中获取多个键的值?这是我的哈希:

{Sat, 23 Nov 2013=>12, Fri, 22 Nov 2013=>15, Thu, 21 Nov 2013=>13} 
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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