Rails:对simple_form执行远程true以进行更新操作

时间:2018-04-09 17:56:57

标签: javascript ruby-on-rails controller simple-form

我试图设置一个简单的表单来执行remote_true以在更新操作上执行javascript文件。这是它的样子:

形式:

<%= simple_form_for(@product, remote: true) do |f| %>
  <%= f.input :body,
              label: "Product Body",
              input_html: {
                rows: 12,
                id: "update_product_body" 
              }  
  %>
  <div class="form-actions">
    <%= f.button :submit, class: "btn btn-warning", value: 'Update Product', id: "update_product_submit_button" %>
  </div>
<% end %>

更新操作:

  def update
    if @product.update(product_params)
      respond_to do |format|
        format.js
      end
    else
      render :edit
    end
  end

目标是在成功完成更新操作后执行以下javascript以更改提交按钮:

应用程序/视图/产品/ update.js.erb

function update_response() {
  alert("Javascript executed.");
  var submit_button = $("#update_product_submit_button");
  submit_button.text("Product Successfully Updated Locally")
};
update_response()

但是,我收到以下错误:

ActionController::UnknownFormat in ProductsController#update
ActionController::UnknownFormat
Extracted source (around line #47):
45
46
47
48
49
50

    if @product.update(product_paras)
      respond_to do |format|
        format.js
      end
    else

有人有什么想法吗?

0 个答案:

没有答案