gpt4 book ai didi

ruby-on-rails - Ember Data 无法通过 createRecord 正确地将参数传递给 Rails

转载 作者:行者123 更新时间:2023-12-02 08:07:20 24 4
gpt4 key购买 nike

我正在尝试设置 Ember 数据调用来创建一个注册对象,该对象仅包含一封电子邮件,仅包含其他内容。我的 Ember Data 设置有些奇怪,因为参数似乎已传递,但 Rails 无法接收它们。不确定出了什么问题。

Ember 前端:

  var signup = this.get('store').createRecord('signup', {
email: this.get('emailAddress')
});
console.log(this.get('emailAddress')); --> prints fine
console.log(signup); --> data is empty, somewhat alarming/confusing
console.log(signup.get('email')); --> however, this also prints fine
signup.save();

请求负载:

{"data":{"attributes":{"email":"gg@gg.com"},"type":"signups"}}

Rails 后端:

  def create
@signup = Signup.new({ email: params[:email] })
p params
# prints <ActionController::Parameters {"controller"=>"signups", "action"=>"create"} permitted: false>

p @signup --> prints Signup object with nil for email
@signup.save!
render json: @signup
end

响应负载:

{"data":{"id":"3","type":"signup","attributes":{"email":null}}}

最佳答案

我需要将此行添加到 config/initializers/mime_types.rb

Mime::Type.register "application/vnd.api+json", :json

这是因为我使用 JSON API 规范从 Ember 传递数据,所以我需要让 Rails 正确处理它。

查看更多:https://github.com/rails/rails/issues/28564

关于ruby-on-rails - Ember Data 无法通过 createRecord 正确地将参数传递给 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47850701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com