当前位置: 首页 > 知识库问答 >
问题:

有许多通过与控制台而不是控制器的作品相关联。

东门涵育
2023-03-14

我对通过关联has_many有问题。不知何故 u.groups.create!(:名称 =

(0.1ms)开始事务SQL(4.5ms)插入"组"("created_at","findeble","name","学校","updated_at")值 (?, ?, ?, ?, ?) [["created_at", Tue,01 Oct 2013 08:13:36 UTC 00:00],["findeble", false],["name","test group"],["学校","学校"],["updated_at", Tue,01 Oct 2013 08:13:36 UTC 00:00]]SQL(0.3ms)插入"用户组"("created_at","group_id","updated_at","user_id")值 (?, ?, ?, ?)[created_at, Tue,01 Oct 2013 08:13:36 UTC 00:00],[group_id,7],[updated_at, Tue,01 Oct 2013 08:13:36 UTC 00:00],[user_id,1]](0.5ms)提交事务=

但是当我尝试通过groups_controller

    # GET /groups/new
      # GET /groups/new.json
      def new
        @group = current_user.groups.new

        respond_to do |format|
          format.html # new.html.erb
          format.json { render json: @group }
        end
      end

  def create
    @group = current_user.groups.new(params[:group])

    respond_to do |format|
      if @group.save
        format.html { redirect_to @group, notice: 'Group was successfully created.' }
        format.json { render json: @group, status: :created, location: @group }
      else
        format.html { render action: "new" }
        format.json { render json: @group.errors, status: :unprocessable_entity }
      end
    end
  end

这将创建跟踪:

开始POST"/group"for127.0.0.1at 2013-10-01 10:20:15 0200 GroupsController处理#创建为超文本标记语言参数:{"utf8"=

这只会创建新的组记录,而不会在联接表中创建记录。我不明白是什么造成了这种差异。

共有2个答案

吴欣然
2023-03-14

lol007是对的,或者你也可以这样做

在新动作中

  @group = current_user.groups.build

在创建操作中

  @group = current_user.groups.create(params[:group])
洪昊然
2023-03-14

您需要使用build方法:

current_user.groups.build(params[:group])
 类似资料:
  • 我对javaFX有问题。我正在做计算器,我将我的应用程序划分为3个FXML文件(1是只控制数字和运算符的控制器,2是文本字段的控制器,这是结果字段,最后一个应该让它们相互通信)。 我无法管理如何编写自己的方法,例如,当我在文本字段中按数字3时,在其他FXML中输入数字“3”,并且有自己的FXML文件。有一个空指针异常,所以我想我没有初始化这个文本字段。请帮我解决这个问题。有没有办法在MainCon

  • 当我搜索这个时,我找不到任何信息(可能我搜索了错误的关键字),但我需要一种方法,我可以让调试器在运行时输出我自己的字串,有点像System.out.print语句,但改为控制台窗口。 也许我只是个笨蛋,但我也想在有人告诉我这个问题之前问一下:在您完成程序并创建jar之后,system.out.print、println和printf语句是否会在运行时打印到命令提示符。我的程序使用JFrame和se

  • 我试图使用apache kafka二进制文件中的kafka控制台生成器生成消息,并在spring boot中使用消费者设置。消费者使用avro模式。 当消息以json格式生成时,我的消费者抛出异常-“无法序列化”。 我找到了一个解决方案,可以使用“ConFluent Platform 7.1”,它有kafka-avro-console-生产者。它支持avro,但它是企业版。 有没有一种方法可以使用

  • 后台控制器只有管理员登录后才能访问,要渲染的视图在后台模板目录(public/themes/)里,要继承cmf\controller\AdminBaseController 如: <?php namespace app\admin\controller; use cmf\controller\AdminBaseController; class IndexController extends

  • ThinkCMF把控制器分为前台控制器,前台用户控制器,后台控制器,这样是为了区分不同情况下不同的业务逻辑; 比如:前台用户和后台管理员需要不同的权限设置,控制器分类可以有效地区分开来; 这里我们主要说明前台控制器; 前台控制器就是前台用户可以访问的控制器,且同时不用用户登录,要渲染的视图也在前台模板目录(public/themes/)里,前台控制器要继承cmf\controller\HomeBa