加入两个字符串而不在Ruby on Rails中添加?

时间:2012-12-17 05:34:48

标签: string join ruby-on-rails-3.2

如何将两个字符串(两个都是数字)连接在一起而不将它们加在一起?例如:

@output = 2567 + 18

我不想要的内容:

结果返回“2585”(它以数学方式将两个数字加在一起)。

我想要的是什么:

结果返回“256718”。正如您所看到的,这次两个数字已经连接在一起,而不是添加。

一个真实的例子:

Profile.create(:permalink => 2585 && User.last.id)

当我从我的模型中运行该行时 - 标题为“永久链接”的行只是获取最后创建的用户ID,并且“2585”未在其前面加入。另外,如果我使用“+”方法而不是“&&”与第一个例子中一样,两个数字以数学方式加在一起。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

将两个值都转换为字符串。第一个使用字符串文字,第二个使用to_s方法进行显式转换。

Profile.create(:permalink => "2585" + User.last.id.to_s)

答案 1 :(得分:2)

我认为您可以先尝试将数字**转换为**字符串。 对于你的例子

@output = "2567" + "18"

@output = (2567.to_s) + (18.to_s)

将获得256718,这就是你想要的。

答案 2 :(得分:0)

我不太了解Ruby,但我认为使用字符串文字可以告诉解释器你想要做什么。尝试:

Profile.create(:permalink => "2585" + User.last.id)