【发布时间】:2018-05-07 08:08:11
【问题描述】:
我正在尝试在主窗体中附加 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)
这是我的部分“颜色数据”
<%= 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%>
我错过了什么吗? 提前致谢
【问题讨论】:
-
可能
Master::Yarn.where('color like?', @color)返回空集合,因为我在日志中没有看到任何"value= #{v[:Lotnumber]}" -
嗯,它不是空的。让我在帖子中更新完整的终端输出。看看
-
但仍然没有
"value= #{v[:Lotnumber]}"输出,对吧?也许您想要WHERE (color like'%Red%')查询而不是WHERE (color like'Red')? -
@AmitojSingh 你能告诉我们部分
colordata吗? -
@Gabbar partial 在问题中更新。看看吧。
标签: javascript ruby-on-rails ajax