【发布时间】:2016-08-24 07:29:45
【问题描述】:
我有一个交易模型来处理投资组合中股票的买卖。当确定我想买/卖哪只股票时,我有一个使用 options_for_collection_for_select 的下拉菜单。根据我选择的股票代码,我希望 buy_price 字段填写与该股票资源关联的 last_price。 有没有办法存储来自 f.select :stock_id 的选择并使用它来自动填充 buy_price 字段。使用 Rails 或 JavaScript。
<%= form_for([@portfolio, @transaction]) do |f| %>
<% if @transaction.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@transaction.errors.count, "error") %> prohibited this transaction from being saved:</h2>
<ul>
<% @transaction.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :symbol %><br>
<%= f.select :stock_id, options_from_collection_for_select(Stock.all, :id, :symbol), prompt: 'Please select a stock...' %>
</div>
<div class="field">
<%= f.label :quantity %><br>
<%= f.number_field :num_of_shares %>
</div>
<div class="field">
<%= f.label :buy_price %><br>
<%= f.number_field :buy_price %>
</div>
<div class="field">
<%= f.label :buy_date %><br>
<%= f.datetime_field :buy_date, :value => DateTime.now %>
</div>
<div class="actions">
<%= f.submit class: 'btn btn-success' %>
</div>
<% end %>
【问题讨论】:
-
在更改
selection时,您可以向控制器触发ajax请求并获取last_price。然后更新buy_price字段。
标签: javascript ruby-on-rails ruby forms