当前位置:  开发笔记 > 编程语言 > 正文

response_to format.html参数太少

如何解决《response_toformat.html参数太少》经验,为你挑选了1个好方法。

在添加书目表单中,我创建了一个添加作者表单,该表单使用json添加了作者。

这很好。

但是,当作者添加到数据库时,我想显示一条成功消息。

这是我的代码:

def create
    @auteur = Auteur.new(params_auteur)
    respond_to do |q|
        if @auteur.save
            format.html{ redirect_to @auteur, notice: 'Auteur added successfully.'}
            format.js{}
            format.json{
                render json: @auteur, status: :created, location: @auteur
            }
        else
            format.html{ render action: "new"}
            format.json{ render json: @auteur.errors, status: :unprocessable_entity}
        end
    end
end

然后,我添加了一个views/auteurs/create.js.erb包含以下代码的文件:

$("<%= escape_javascript(render @auteur) %>").appendTo(".bloque_ajoute_auteur"); 

我的错误消息是在(成功)将新作者插入数据库后生成的:

Completed 500 Internal Server Error in 10ms (ActiveRecord: 1.6ms)
ArgumentError (too few arguments):
app/controllers/administration/auteurs_controller.rb:23:in `format'
app/controllers/administration/auteurs_controller.rb:23:in `block in create'
app/controllers/administration/auteurs_controller.rb:21:in `create'

第21行是response_to块的开始;第23行是format.html{ redirect_to @auteur, notice: 'Auteur ajouté.'}

我以为我已经密切关注了这一点:http : //guides.rubyonrails.org/working_with_javascript_in_rails.html#server-side-concerns



1> Shannon..:

应该是respond_to do |format|。一旦到达format没有声明的第一个实例,它将失败。

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有