【发布时间】:2020-10-05 20:18:24
【问题描述】:
在 Rails 中,我使用的一个常见模式是创建一个新的非持久对象以使用默认值填充表单,例如
class ContactsController < ApplicationController
def new
@contact = Contact.new
end
end
...
<%= form_for(@contact) %>
我使用 graphql ruby 创建了一个表单,我想使用非持久对象填充默认值 即我有一个由contractParts 填充的createOrUpdate 表单
query Contract($contractId: ID!) {
contract(id: $contractId) {
...contractParts
}
}
query DefaultContract($ownerId: ID!) {
defaultContract(ownerId: $ownerId) {
...contractParts
}
}
在我的 query_types.rb 中
def default_contract(owner_id:)
owner = Owner.find(owner_id)
Contract.new(owner: owner)
end
我想知道这种模式是否可以,或者是否因为我返回一个没有 ID 的对象会出现问题。 我浏览了所有文档,但找不到任何关于此的内容,这不是正确的 graphql 吗?
【问题讨论】:
标签: ruby-on-rails ruby graphql graphql-ruby