我是RoR新手。请帮帮我:我有两个模型:
class User < ActiveRecord::Base
belongs_to :game
end
和
class Game < ActiveRecord::Base
has_many :users, :foreign_key => "game_id"
end
游戏对象有很多用户。我需要找到所有的游戏对象,其中users.count == 1。请帮助。
我有一个非常复杂的sql查询,我想将其转换为RoR的ORM。
SELECT c.* FROM (SELECT companies.* FROM companies WHERE city = "?" AND country = "?") AS c INNER JOIN tagsForCompany AS tc ON c.id = tc.Company INNER JOIN tags AS t ON t.id = tc.TID WHERE t.Name REGEXP '?'
我已经定义了这样的模型:
companies.rb
class Compan
我无法通过终端和RoR迁移数据库中的新列。我只知道第一步:
**$ rails g migration add_online_to_posts online:boolean**
Running via Spring preloader in process 13406
invoke active_record
create db/migrate/20170808141302_add_online_to_posts.rb
后来什么也没起作用:
**$ rails db:migrate**
rails aborted!
ActiveRecord::Duplicat
我是RoR新手,我正尝试在一个连接表上编写一个查询,以检索我需要的所有数据
class User < ActiveRecord::Base
has_many :forms, :through => :user_forms
end
class Form < ActiveRecord::Base
has_many :users, :through => :user_forms
end
在我的控制器中,我可以像这样成功地检索用户的所有表单:
User.find(params[:u]).forms
它为我提供了所有的表单对象
但是,我想在我的连接表(user_
我正在为我的一个应用程序设计REST api &考虑同样使用RoR,在我决定使用RoR之前,我有几个问题想知道Rails是否支持-
1) rails是否支持设置HTTP响应码状态。所以我想要这样的东西
if customer_save_fail
response.status_code = 500
end
2)在rails中,有没有一种方法可以直接执行SQL语句,我希望这种方法适用于复杂的查询,而不是使用ActiveRecord。我猜我可以使用DBI gem来做这件事?还有别的办法吗?它与Rails集成在一起。我还需要一种方法来将直接查询返回的结果集转换为JSON,类似于to_jso
如何查询Ruby on Rails或将此查询转换为Ruby on Rails? SELECT
orders.item_total,
orders.total,
payments.created_at,
payments.updated_at
FROM
public.payments,
public.orders,
public.line_items,
public.variants
WHERE
payments.order_id = orders.id AND
orders.id = line_items.order_id AND 这在Postgres上是有效的,但我是RoR的新手,这给我查
我正在做一个让我发疯的查询。我试图通过联接表中的值搜索表。当前,查询将返回具有指定ids之一的所有结果。我只希望它返回只有两个ids的记录。
这是我的桌子设置
creat_table champions do |t|
t.integer :id
end
create_table champions_champion_combinations do |t|
t.integer :champion_id
t.integer :champion_combination_id
end
create_table champion_combinations do |t|
t.integ
我需要一些帮助来思考这个过程,为RoR应用程序在多个表上进行批量更新。以下是我的模型,
class User < ActiveRecord::Base
has_many :addresses
has_many :phones
end
class Address < ActiveRecord::Base
belongs_to :user
has_one :addresstype
end
class Phone < ActiveRecord::Base
belongs_to :use
我正在尝试启动一个rails应用程序,并收到以下错误消息:
C:\project\ruby\lyc>rails server
You have requested:
activerecord-jdbc-adapter >= 0
The bundle currently has activerecord-jdbc-adapter locked at 1.0.2.
Try running `bundle update activerecord-jdbc-adapter`
Try running `bundle install`.
由于我是ROR的新手,上面的内容对我来说完全是乱七
我想在我的RoR应用程序中组合两个PostgreSQL语句。
第一个SQL语句返回一个链接,该链接包含两个特定的tag_ids。
SELECT link_id, count(*) as counter
FROM "totals"
WHERE "totals"."tag_id" IN (6, 8)
AND (score > 0)
GROUP BY link_id
HAVING count(*)=2
RoR ActiveRecord版本:
links = Total.find_all_by_tag_id(@tag_list, :
我正在支持RoR上的一个应用程序。其中有一部分我不明白。有一个模型: class Country < ActiveRecord::Base
extend FriendlyId
friendly_id :prefix, :use => [:finders]
...
end 如果我使用数据库中不存在的值调用Country.find(" value ")或Country.friendly.find("value"),该调用会立即引发HTTP302。如果我将其更改为Country.find_by(前缀:"value"),它将按预期工
我做了rake task。
我的rails应用程序正在运行,没有问题,。
代码
namespace :i18n_master do
task check: :environment do
read_model
models = ActiveRecord::Base.descendants.map do |model|
next if model.name.nil?
model2hash(model)
end
p models
end
def model2hash(model)
return Hash[model.n
我正在尝试使用ActiveRecord编写一个相当复杂的查询(虽然我对使用原始SQL开放,如果它更容易的话),并且需要一些帮助来改进它。
我有以下几种型号:
class Company < ActiveRecord::Base
has_many :contacts
has_many :workplace_stories
end
class WorkplaceStory < ActiveRecord::Base
belongs_to :company
has_many :questions
has_many :invites
end
cla
我有三个模型" Event“、"Team”和"User“与各种ActiveRecord关联,并且在创建一个新的事件对象并将其与team_id关联时遇到了困难。也许我错过了一些感情上的东西。它们的定义如下:
class User < ActiveRecord::Base
has_many :teams
has_many :events, through: :teams
end
class Team < ActiveRecord::Base
has_many :events
has_many :users
end
class Event &l
我有一个具有has_many关系的模型,另一个模型如下:
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
因为有些父母可能没有孩子,所以我想做一个查询,只返回有孩子的父母。我该怎么做这样的事?
因为我是在Rails 3上这样做的,所以如果这个查询不使用where.not.语法将是有帮助的。
我有一个RoR应用程序,它经常通过单独的查询访问DB。问题是每个查询花费大约100 is,而且由于ActiveRecord生成的单个查询的数量,一些控制器操作花费的时间太长而无法完成。
另一个问题是,我不能使用AR include()(这只会生成一个查询),因为我在忽略索引的AR-sqlserver-适配器和unicode字符串上遇到了问题,并且手动从sql查询中删除unicode前缀(这是一个很长的故事.)
示例:
#model
class Company < ActiveRecord::Base
has_one: city
end
#controller
sql_string
我的应用程序中有以下模型:
class Company < ActiveRecord::Base
has_many :gallery_cards, dependent: :destroy
has_many :photos, through: :gallery_cards
has_many :direct_photos, class_name: 'Photo'
end
class Photo < ActiveRecord::Base
belongs_to :gallery_card
belongs_to :company
end
class G
我正在用RoR设计一个基本的体育应用程序,我不知道我的数据库设计是否正确。例如,我有:
class Game < ActiveRecord::Base
has_one :home_team
has_one :away_team
end
class Team < ActiveRecord::Base
has_many :games
end
然而,有人告诉我更好的方法是:
class Game < ActiveRecord::Base
has_many :teams, :through => :game_teams, :limit => 2
end