首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >who belongs_to who -嵌套模型- rails

who belongs_to who -嵌套模型- rails
EN

Stack Overflow用户
提问于 2013-06-27 22:48:38
回答 2查看 67关注 0票数 0

假设我有一个用户表和一个campaign表(具有一个user_id列),并且每个campaign都有一个创建者(他是用户)和一个成员列表,这些成员也是用户。所以我有

代码语言:javascript
复制
class UsersController < ApplicationController
  has_many :campaigns

代码语言:javascript
复制
class CampaignsController < ApplicationController

  belongs_to :user 
  has_many :users 
  accept_nested_attributes_for :users

但是我得到一个错误:ActionController::RoutingError (undefined methodbelongs_to‘for CampaignsController:Class)`

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-27 22:53:15

模型关系必须在模型文件中声明,而不是在控制器中声明。它应该是:

代码语言:javascript
复制
class User < ActiveRecord::Base
  has_many :campaigns


class Campaign< ActiveRecord::Base

  belongs_to :user 
  has_many :users 
  accept_nested_attributes_for :users
票数 5
EN

Stack Overflow用户

发布于 2013-06-27 22:52:05

方法#has_many#belongs_to是为ActiveRecord模型定义的,而不是ActionPack控制器。

您需要创建模型(使用迁移创建表和列):user和Camaign,并在那里定义关系,在控制器中,您只需获取模型并在视图上显示它们,或者使用来自User的参数更新模型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17346362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档