我正在使用Rails创建一个新的Web应用程序,并且想知道,string和之间有什么区别text?什么时候应该使用?
有时,Activerecord数据类型让我感到困惑.呃,经常.对于特定情况,我的一个永恒问题是:
我应该使用
:decimal或:float?
我经常遇到这个链接,ActiveRecord :: decimal vs:float?,但答案不够清楚,我无法确定:
我见过许多线程,人们建议不要使用浮点数并始终使用小数.我也看到一些人建议只使用浮动用于科学应用.
以下是一些示例案例:
-45.756688,120.5777777,...0.9,1.25,1.333,1.4143,...我:decimal过去曾经使用过,但是我发现与BigDecimal浮点数相比,处理Ruby中的对象是不必要的尴尬.例如,我也知道我可以:integer用来代表金钱/美分,但它并不适合其他情况,例如精确度随时间变化的数量.
floating-point types ruby-on-rails decimal rails-activerecord
我试图找出SQL Server中列的十进制数据类型.我需要能够存储15.5,26.9,24.7,9.8等值
我分配decimal(18, 0)了列数据类型,但这不允许我存储这些值.
这样做的正确方法是什么?
在哪里可以找到可在rails 3中使用的数据类型列表?(例如文本,字符串,整数,浮点数,日期等?)我会随机了解新的,但我希望有一个我可以轻松参考的列表.
我找不到包含所有数据类型列表的活动记录文档页面.
有人可以帮我吗?
我正在运行Rails 3.2.17和Postgres 9.3.4.我使用"rails generate"创建了一个新的ActiveRecord模型,其中一个列类型是json.我的目的是在Postgres中使用json列类型.
db迁移包含以下代码:
class CreateThing < ActiveRecord::Migration
def change
create_table :things do |t|
t.integer :user_id
t.json :json_data
t.timestamps
end
add_index :things, :user_id
end
end
Run Code Online (Sandbox Code Playgroud)
当我尝试使用"rake db:migrate"进行迁移时出现此错误:
-- create_table(:things)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
undefined method `json' for #<ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition:0x007fea3d465af8>/Users/../db/migrate/20140425030855_create_things.rb:7:in `block in change'
/Library/Ruby/Gems/2.0.0/gems/activerecord-3.2.17/lib/active_record/connection_adapters/abstract/schema_statements.rb:160:in `create_table'
Run Code Online (Sandbox Code Playgroud)
这是将json列添加到ActiveRecord的正确方法吗?我找不到任何文档或示例.谢谢!
我知道Rails数据类型可以在这里找到:
或者在这里:
但我找不到的是每个的清晰定义,以及浮点数与小数点之间的差异,或字符串与文本之间的差异.
我在哪里可以找到数据类型的深入定义?
我正在尝试在Rails 5.2中使用Active Storage.我发现我应该file在迁移中创建具有类型的字段,但是我有一个错误:
$ rdm
Running via Spring preloader in process 40193
== 20171217191942 CreateDishes: migrating
=====================================
-- create_table(:dishes)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
undefined method `file' for #<ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition:0x00007fd56e297750>
/Users/alder/Projects/_apps/service_exchange/rails-backend/db/migrate/20171217191942_create_dishes.rb:6:in `block in change'
/Users/alder/Projects/_apps/service_exchange/rails-backend/db/migrate/20171217191942_create_dishes.rb:3:in `change'
-e:1:in `<main>'
Run Code Online (Sandbox Code Playgroud)
移民:
class CreateDishes < ActiveRecord::Migration[5.2]
def change
create_table :dishes do |t|
t.string :name, index: true
t.string :description
t.file :image
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
我试图创建字符串字段,但它不起作用.
在官方文档中找不到任何相关内容
我有迁移活动存储,我通过了确定
ruby ruby-on-rails ruby-on-rails-5 rails-activestorage ruby-on-rails-5.2
我想知道数据类型引用以及如何/为什么在网站上使用它的一些示例.如果使用Ruby-on-Rails时它们有所不同,我会为了以防万一而标记它.我是编程的新手,用外行的术语来解释所有内容非常有帮助,所以我可以慢慢地建立自己的计算机头衔.
感谢帮助我的麻烦,谢谢.
ruby ×3
decimal ×2
sql ×2
types ×2
activerecord ×1
database ×1
datetime ×1
mysql ×1
postgresql ×1
sql-server ×1
sqldatatypes ×1
timestamp ×1