Невозможно добавить частичное использование js Rails - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь добавить частичные colordata в основной форме, но не могу этого сделать. Вот мой контроллер

def colordata
    request.POST.each do |key, value|
      @color = value
    end
    @lotdetail= Master::Yarn.where('color like?', @color)
    @lotdetail.each do |v|
      puts "value= #{v[:Lotnumber]}"
    end
    respond_to do |format|
      format.js
    end
  end

вот мой js-файл, который присутствует в представлениях, называемых colordata.js.erb

  $(".lot").append(<%= escape_javascript render(partial: 'colordata') %>);

вот моя основная форма, куда я должен добавить

<%= form_with(model: order, remote: true, class: 'orderform') do |form| %>

  <div class="field">
    <%= form.label :design %>
    <%= form.collection_select(:design, Design.all,:Design_name,:Design_name,id: :order_design,prompt: "Choose the design")%>
  </div>

  <div class= "field">
    <%= form.label :color %>
    <%= form.collection_select(:color, Master::Color.all,:colorname,:colorname, prompt: "choose the color",class: "colors")%>
  </div>

  <div class="field">
    <%= form.label :quantity %>
    <%= form.number_field :quantity, id: :order_quantity %>
  </div>

  <div class="lot">

  </div>

  <div class= "field">
    <%= form.label :consumption %>
    <%= form.text_field :consumption, id: :order_consumption%>
  </div>

Вот вывод терминала

Started POST "/orders/colordata" for 127.0.0.1 at 2018-05-07 19:04:56 +0530
Processing by OrdersController#colordata as */*
  Parameters: {"color"=>"Red"}
  Master::Yarn Load (0.4ms)  SELECT `master_yarns`.* FROM `master_yarns` WHERE (color like'Red')
value= 8406
  Rendering orders/colordata.js.erb
  CACHE Master::Yarn Load (0.0ms)  SELECT `master_yarns`.* FROM `master_yarns` WHERE (color like'Red')
  Rendered orders/_colordata.html.erb (1.5ms)
  Rendered orders/colordata.js.erb (2.4ms)
Completed 200 OK in 17ms (Views: 4.1ms | ActiveRecord: 2.7ms)

вот мои частичные 'colordata'

<%= fields_for :lotnumber do |form|%>
<%= form.label :lotnumber %>
<%= @lotdetail.each do |l|%>
<%= l[:Lotnumber]%>
<%end%>
<%= form.collection_select(:lotnumber, @lotdetail.all, :Lotnumber,:Lotnumber,prompt: "Select the Yarn")%>
<%end%>

Я что-то пропустил? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Спасибо. Я решил это, обновив colordata.js.erb с

$(".lot").append("<%= j render('colordata') %>" );
0 голосов
/ 07 мая 2018

Зная, что $(".lot").append("<%= escape_javascript render(partial: 'colordata') %>") нормально работает, я проверил ваш предыдущий вопрос .

Если это та же проблема, удалите dataType: JSON в вашем вызове ajax, и все должно быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...