首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Ajax 4保存后的操作

使用Ajax 4保存后的操作
EN

Stack Overflow用户
提问于 2015-10-02 05:31:27
回答 1查看 250关注 0票数 1

我有两个型号,供应商账单

在我的账单/_form.html.erb中,我通过Ajax创建了一个供应商,因为我不想泄露用户在表单字段中输入的内容,并允许他选择创建的供应商并创建账单。

账单/_form.html.erb

代码语言:javascript
运行
复制
<%= render 'suppliers/form', modal: true %>

所有的一切都是好的,直到这里,供应商是创建和保存后,点击提交。

代码语言:javascript
运行
复制
Started POST "/suppliers" for ::1 at 2015-10-02 02:14:52 -0300
Processing by SuppliersController#create as JS
  Parameters: {"utf8"=>"✓", "supplier"=>{"cnpj"=>"1283981293", "fancy_name"=>"Supplier Test 3", "corporate_name"=>"Supplier Test 3", "state_registration"=>"19827391823", "main_supplier"=>"0", "alternative_supplier"=>"0"}, "commit"=>"Salvar"}
  User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1  ORDER BY `users`.`id` ASC LIMIT 1
   (0.2ms)  BEGIN
  SQL (0.3ms)  INSERT INTO `suppliers` (`fancy_name`, `corporate_name`, `cnpj`, `state_registration`, `main_supplier`, `alternative_supplier`, `created_at`, `updated_at`) VALUES ('Supplier Test 3', 'Supplier Test 3', '1283981293', '19827391823', 0, 0, '2015-10-02 05:14:52.363531', '2015-10-02 05:14:52.363531')
   (1.2ms)  COMMIT

我已经尝试过respond_to in suppliers_controller:

代码语言:javascript
运行
复制
format.js   { render 'bills/supplier', status: :created, location: @supplier }

并在票据视图文件夹中创建了supplier.js.erb:

账单/供应品.js.erb

代码语言:javascript
运行
复制
$('#supplier_name').append("<%= j render (@supplier) %>");
$('#modal_add_supplier').modal_success();

但现在我明白了:

代码语言:javascript
运行
复制
Started POST "/suppliers" for ::1 at 2015-10-02 02:16:45 -0300
Processing by SuppliersController#create as JS
  Parameters: {"utf8"=>"✓", "supplier"=>{"cnpj"=>"1283981293", "fancy_name"=>"Supplier Test 3", "corporate_name"=>"Supplier Test 3", "state_registration"=>"19827391823", "main_supplier"=>"0", "alternative_supplier"=>"0"}, "commit"=>"Salvar"}
  User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1  ORDER BY `users`.`id` ASC LIMIT 1
   (0.2ms)  BEGIN
  SQL (6.2ms)  INSERT INTO `suppliers` (`fancy_name`, `corporate_name`, `cnpj`, `state_registration`, `main_supplier`, `alternative_supplier`, `created_at`, `updated_at`) VALUES ('Supplier Test 3', 'Supplier Test 3', '1283981293', '19827391823', 0, 0, '2015-10-02 05:16:45.868491', '2015-10-02 05:16:45.868491')
   (0.9ms)  COMMIT
  Rendered bills/supplier.js.erb (7.5ms)
Completed 500 Internal Server Error in 46ms

ActionView::MissingTemplate - Missing partial suppliers/_supplier with {:locale=>[:"pt-BR"], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :slim, :coffee, :jbuilder]}. Searched in:
  * "/Users/anchietajr/Documents/SISTEMA_UNIX/unix/app/views"
  * "/Users/anchietajr/.rvm/gems/ruby-2.2.0/gems/devise-3.5.2/app/views"
  * "/Users/anchietajr/.rvm/gems/ruby-2.2.0/gems/kaminari-0.16.3/app/views"

我想知道如何在我的表单中显示验证错误,以及如何在提交此表单之后调用一个操作,并在我的账单/_form.html.erb中操作DOM元素,以显示创建的供应商,因为我知道我使用的是一个远程表单,位于suppliers/_form.html.erb中。

这是要点。

EN

回答 1

Stack Overflow用户

发布于 2015-10-02 05:42:57

Rails正在寻找一个部分。部分名称以下划线开头:

代码语言:javascript
运行
复制
ActionView::MissingTemplate - Missing partial suppliers/_supplier

只需将文件名从bills/supplier.js.erb更改为bills/_supplier.js.erb即可

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

https://stackoverflow.com/questions/32901070

复制
相关文章

相似问题

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