使用以下型号:
class Location < ActiveRecord::Base
has_many :group_locations
has_many :groups, :through => :group_locations
accepts_nested_attributes_for :group_locations
end
class GroupLocation < ActiveRecord::Base
belongs_to :group
belongs_to :location
end
class Group
我有一个模型B,它的主键id不自动递增(因为它的值是来自另一个系统的guids )。
当我试图通过设置嵌套属性来创建B的新实例时,会出现一个错误:
ActiveRecord::RecordNotFound: Couldn't find B with ID=076dda41-afa6-4324-b6fd-219d99089dfc for A with ID=846205
a.attributes = {
b_attributes: {
id: '076dda41-afa6-4324-b6fd-219d99089dfc'
}
}
当我指定id时,如何使赋值构
我在Rails 5.1API应用程序中有如下所示的Post和Comment模型
Post
class Post < ApplicationRecord
has_many :comments
end
注释
class Comment < ApplicationRecord
belongs_to :post
end
**后序列化程序(使用ActiveModel序列化程序)**
class PostSerializer < ActiveModel::Serializer
attributes :id, :title, :text, :created_at
我只创建了一个rails api应用程序。这些模型之间的联系如下:
class Book < ApplicationRecord
has_and_belongs_to_many :authors
accepts_nested_attributes_for :authors, allow_destroy: true
end
class Author < ApplicationRecord
has_and_belongs_to_many :books
end
现在,当我试图用邮递员发布的参数创建一个新的Book时,
{
"book": {
ActiveRecord似乎不明白,给定一组具有嵌套属性的现有记录的参数,它可以创建一个新的嵌套记录,该记录本身有一个嵌套的现有记录。(关系树:Existing -> New -> Existing)
这是个窃听器还是我漏掉了什么?
让我给你们举个简单的例子。
以下是我的模特:
class User < ActiveRecord::Base
has_many :posts
attr_accessible :name, :posts_attributes
accepts_nested_attributes_for :posts
end
class Post <
使用Rails 2.3.8
目标是 create a Blogger,同时更新嵌套的用户模型(如果信息已经改变,等等),或者创建一个全新的用户,如果它还不存在。
型号:
class Blogger < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user
end
Blogger控制器:
def new
@blogger = Blogger.new
if user = self.get_user_from_session
@blogger.user = user
else
我有一个项目资源和一个所有者资源。
rails g scaffold Item name:string
rails g scaffold Owner name:string
class Item < ActiveRecord::Base
has_one :owner
accepts_nested_attributes_for :owner
end
class Owner < ActiveRecord::Base
belongs_to :item
end
我的问题是我不能创建引用现有所有者对象的新Item对象。
In /db/migrate/create_owners
当我从UI中传递值时,我得到了不允许的params。模型之间的联系是多到多的。
class User < ApplicationRecord
has_many :user_posts
has_many :posts, through: :user_posts
end
class Post < ApplicationRecord
has_many :user_posts
has_many :users, through: :user_posts
accepts_nested_attributes_for :user_posts
end
我有一个这样的模型:
@Entity
public class Event extends Model {
@Id
public long id;
public String name;
@Version
public Timestamp created;
}
在此对象上运行.save()时,我得到以下记录:
id | name | created
----+--------+-------------------------
1 | Foobar | 2014-11-04 20:25:40.194
如您所见,created
ruby on rails的初学者,我完全纠结于我的嵌套形式中的这个问题。
我想要完成的是:我想设置一个表单,用户可以在其中设置一周中每一天的关闭和打开时间。我有一个子模型:可用性和一个父模型:停车,每个停车场在一周中的每一天都有6行可用性,0-6。
当我提交时,我得到的错误:
Started PATCH "/parkings/12/availabilities" for ::1 at 2020-10-07 14:24:44 -0700
Processing by AvailabilitiesController#update as HTML
Parameters: {