Rails新手在这里。我遇到了如何为价格设置默认值的问题。
以下是代码:
<%= simple_form_for(@order) do |f| %>
<%= f.error_notification %>
<%= f.input :customer_id, collection: Customer.all, %>
<%= f.simple_fields_for :items do |i| %>
<%= render 'item_fields', :f => i %>
<% end %>
<%= link_to_add_association '+ product, f, :items %>
<% end %>
部分_item_fields形式:
<%= f.input :qty %>
<%= f.select :product_id, Product.all.map { |p| [p.name, p.id }, { include_blank: true } %>
<%= f.text_field :price %>
<%= link_to_remove_association image_tag("delete.png") %>
计划是在选择产品时设置价格值,以便保存。尝试了很多没有运气的方法。
产品表有名称,价格字段。
我需要你的帮助来实现这一目标。 最好的方法是什么? Ajax,javascript?
任何帮助都将不胜感激。
答案 0 :(得分:0)
基本上,当您选择product_id时,价格会被设置,而不会向服务器发送任何内容?你需要JavaScript / JQuery。
规则是当您想要实时更改某些内容而无需访问服务器时,您使用JavaScript。类似$('.product_id').on('change', function(){$('.price_field').value = $('.product_id').data('price')})
之类的东西或类似的东西(在JQuery上有点生疏,但我认为事情可以从这里管理)。
答案 1 :(得分:0)
Product.all.collect {| p | [p.name,p.id,{&#39; data-price&#39; =&gt; p.price}]} 然后你可以通过$(&#39; .product_id&#39;)。数据(&#39;价格&#39;)
来访问它