如何在嵌套形式的测试中使用赋值?
How to use assigns in a test with nested form?
如何在嵌套情况下使用赋值?
作为测试的一部分,我用有效信息做了一个 post:
post organizations_path, organization: { org_name: "abcdef",
phone: "0123456",
members_attributes: [email: "uniqueemail@uniqu.br",
username: "solida",
password: "foobar",
password_confirmation: "foobar"] }
这 post 为一个组织可以有多个成员的嵌套形式。
测试继续:
organization = assigns(:organization)
member = assigns(:member)
这适用于组织,但不适用于成员(它不会为成员分配任何内容)。我试过的其他形式都没有用:
member = assigns(:organization.member)
member = assigns(:organization.members_attributes)
member = assigns(:members_attributes)
如何在这种嵌套情况下也为成员使用分配?
Assigns 只允许您访问一个实例变量(在您的情况下为 @organization
。)我假设这是在您的控制器中填充了一个 Organization
的实例,因此您可以访问相同的成员如果您直接在该实例上访问它们,您会采用这种方式,即:
member = assigns(:organization).members.first
如果您的 Organization
有很多成员,您需要使用 first
来获得一个(即使您只创建了一个。)
如何在嵌套情况下使用赋值?
作为测试的一部分,我用有效信息做了一个 post:
post organizations_path, organization: { org_name: "abcdef",
phone: "0123456",
members_attributes: [email: "uniqueemail@uniqu.br",
username: "solida",
password: "foobar",
password_confirmation: "foobar"] }
这 post 为一个组织可以有多个成员的嵌套形式。
测试继续:
organization = assigns(:organization)
member = assigns(:member)
这适用于组织,但不适用于成员(它不会为成员分配任何内容)。我试过的其他形式都没有用:
member = assigns(:organization.member)
member = assigns(:organization.members_attributes)
member = assigns(:members_attributes)
如何在这种嵌套情况下也为成员使用分配?
Assigns 只允许您访问一个实例变量(在您的情况下为 @organization
。)我假设这是在您的控制器中填充了一个 Organization
的实例,因此您可以访问相同的成员如果您直接在该实例上访问它们,您会采用这种方式,即:
member = assigns(:organization).members.first
如果您的 Organization
有很多成员,您需要使用 first
来获得一个(即使您只创建了一个。)