我有两个型号,供应商和账单。
在我的账单/_form.html.erb中,我通过Ajax创建了一个供应商,因为我不想泄露用户在表单字段中输入的内容,并允许他选择创建的供应商并创建账单。
账单/_form.html.erb
<%= render 'suppliers/form', modal: true %>
所有的一切都是好的,直到这里,供应商是创建和保存后,点击提交。
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:
format.js { render 'bills/supplier', status: :created, location: @supplier }
并在票据视图文件夹中创建了supplier.js.erb:
账单/供应品.js.erb
$('#supplier_name').append("<%= j render (@supplier) %>");
$('#modal_add_supplier').modal_success();
但现在我明白了:
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中。
发布于 2015-10-02 05:42:57
Rails正在寻找一个部分。部分名称以下划线开头:
ActionView::MissingTemplate - Missing partial suppliers/_supplier
只需将文件名从bills/supplier.js.erb
更改为bills/_supplier.js.erb
即可
https://stackoverflow.com/questions/32901070
复制相似问题