- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我是 Rails 的新手,正在创建我的第一个应用程序,它是一个报价工具。
我目前正在使用 3 个表 - Products、Orders 和 Order_lines。产品持有我们产品的当前价格 - 包括成本。订单持有订单的外壳,最终会将其绑定(bind)到客户表。 Order_lines 包含所有 order_lines - View 是根据 Order_lines 和 Orders 之间的关系和匹配索引填充的。
目前,该 View 还使用 Products 和 Order_Lines 之间的连接来填充价格。但是,这将不允许我存储历史数据(如果我更改产品表中的价格,那么之前创建的所有 order_lines 都会更新为新价格) - 所以我想要的是让一个人从下拉菜单 - 让系统提取该产品的当前价格/成本 - 并将其添加到订单行。
产品表包含 4 列标记:prod_nrc_cost、prod_nrc_price、prod_mrc_cost、prod_mrc_price
Order_lines 表现在有 nrc_cost_line、nrc_price_line、mrc_cost_line、mrc_price_line。
当他们选择产品 555 时 - 我希望它在产品表中查找产品 555 的价格 - 并将这 4 个价格填充到 Order_lines 表的相应列中,然后保存。如果我能够直接在页面上填充它(让人们能够根据需要调整定价),然后将其发送到 Controller 以保存,那就太好了。
这有意义吗?
如果我遗漏了什么,请告诉我。
/orders/show.html.erb 文件
<%= form_for(@order_line) do |f| %>
<% if false %>
<% if @order_line.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@order_line.errors.count, "error") %> prohibited this order_line from being saved:</h2>
<ul>
<% @order_line.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<% end %>
<%= f.hidden_field :order_id, class: 'form-control' %>
<%= f.hidden_field :order_num, :value=>@order.order_num, class: 'form-control' %>
<%= f.hidden_field :visible, class: 'form-control', :value=>true, :checked=>true %>
<% if @order_lines.present? %>
<%= f.hidden_field :line_num, :value=>@order_lines.maximum("line_num")+1, class: 'form-control' %>
<% else %>
<%= f.hidden_field :line_num, :value=>1, class: 'form-control' %>
<% end %>
<div class="row">
<div class="field col-md-2 form-group">
<%= f.label :Product %><br>
<%= f.collection_select(:product_id, Product.all, :id, :prod_name, {:prompt => 'Select Product'}, {:id => 'product_id'}) %>
</div>
<div class="field col-md-2 form-group">
<%= f.label :quantity %><br>
<%= f.number_field :quantity, class: 'form-control' %>
</div>
<div class="field col-md-2 form-group">
<%= f.label :NRC %><br>
<%= f.number_field :nrc_price_line, class: 'form-control' %>
</div>
<div class="field col-md-2 form-group">
<%= f.label :MRC %><br>
<%= f.number_field :mrc_price_line, class: 'form-control' %>
</div>
<div class="field col-md-2 form-group">
<%= f.label :discount %><br>
<%= f.number_field :discount, class: 'form-control' %>
</div>
<div class="field col-md-2 form-group">
<%= f.label :notes %><br>
<%= f.text_field :notes, class: 'form-control' %>
</div>
<div class="actions col-md-2" style="padding-top:25px;">
<%= f.submit "Add New Line", class: 'btn btn-primary' %>
</div>
</div>
</div>
<% end %>
orders_controller.rb 文件
class OrdersController < ApplicationController
before_action :set_order, only: [:show, :edit, :update, :destroy]
def orders
@order = Order.find(params[:id])
@order_lines = @orders.order_lines
end
# GET /orders
# GET /orders.json
def index
@orders = Order.all
end
# GET /orders/1
# GET /orders/1.json
def show
@order = Order.find(params[:id])
@order_lines = @order.order_lines
@order_line = OrderLine.new(:order_id=>params[:id])
@product_categories = @order_lines.product
end
def update_price
@product = Product.find(params[:product_id])
respond_to do |format|
format.js
end
end
# GET /orders/new
def new
@order = Order.new
end
# GET /orders/1/edit
def edit
end
# POST /orders
# POST /orders.json
def create
@order = Order.new(order_params)
respond_to do |format|
if @order.save
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render action: 'show', status: :created, location: @order }
else
format.html { render action: 'new' }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /orders/1
# PATCH/PUT /orders/1.json
def update
respond_to do |format|
if @order.update(order_params)
format.html { redirect_to @order, notice: 'Order was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
# DELETE /orders/1
# DELETE /orders/1.json
def destroy
@order.destroy
respond_to do |format|
format.html { redirect_to orders_url }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_order
@order = Order.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def order_params
params.require(:order).permit(:emp_id, :cust_id, :order_num)
end
end
order.rb 模型
class Order < ActiveRecord::Base
has_many :order_lines
has_many :product_categories, through: :order_lines
has_many :products, through: :order_lines
end
最佳答案
首先,使用 product_id 向您的产品选择器添加一个数据属性
您可以在下拉列表的更改事件中获取价格信息:在一些 Coffeescript 文件中:
$('.your_selector').change ->
product_id = $(this).data('product_id')
$.ajax(
type: 'POST'
url: "/product_price_finder"
product_id: product_id
success: ( data, status, xhr ) ->
)
路线.rb
post "/product_price_finder/:product_id" => "products#update_price"
products_controller.rb
def update_price
@product = Product.find(params[product_id:])
respond_to do |format|
format.js
end
end
在 views/products/update_price.js 中
var product = $("#product_<%= @product.id %>")
// update the price with Javascript
关于ruby-on-rails - Ruby on Rails - 根据下拉选择填充数据库记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369457/
是否有某种方法可以使用 JPA 或 Hibernate Crtiteria API 来表示这种 SQL?或者我应该将其作为 native 执行吗? SELECT A.X FROM (SELECT X,
在查询中, select id,name,feature,marks from (....) 我想删除其 id 在另一个 select 语句中存在的那些。 从 (...) 中选择 id 我是 sql
我想响应用户在 select 元素中选择一个项目。然而这个 jQuery: $('#platypusDropDown').select(function () { alert('You sel
这个问题在这里已经有了答案: SQL select only rows with max value on a column [duplicate] (27 个回答) 关闭8年前。 我正在学习 SQL
This question already has answers here: “Notice: Undefined variable”, “Notice: Undefined index”, and
我在 php 脚本中调用 SQL。有时“DE”中没有值,如果是这种情况我想从“EN”中获取值 应该是这样的,但不是这样的 IF (EXISTS (SELECT epf_application_deta
这可能是一个奇怪的问题,但不知道如何研究它。执行以下查询时: SELECT Foo.col1, Foo.col2, Foo.col3 FROM Foo INNER JOIN Bar ON
如何在使用 Camera.DestinationType.FILE_URI. 时在 phonegap camera API 中同时选择或拾取多个图像我能够一次只选择一张图像。我可以使用 this 在
这是一个纯粹的学术问题。这两个陈述实际上是否相同? IF EXISTS (SELECT TOP 1 1 FROM Table1) SELECT 1 ELSE SELECT 0 相对 IF EXIS
我使用 JSoup 来解析 HTML 响应。我有多个 Div 标签。我必须根据 ID 选择 Div 标签。 我的伪代码是这样的 Document divTag = Jsoup.connect(link
我正在处理一个具有多个选择框的表单。当用户从 selectbox1 中选择一个选项时,我需要 selectbox2 active 的另一个值。同样,当他选择 selectbox2 的另一个值时,我需要
Acme Inc. Christa Woods Charlotte Freeman Jeffrey Walton Ella Hubbard Se
我有一个login.html其中form定义如下: First Initial Plus Last Name : 我的do_authorize如下: "; pri
$.get( 'http://www.ufilme.ro/api/load/maron_online/470', function(data
我有一个下拉列表“磅”、“克”、“千克”和“盎司”。我想要这样一种情况,当我选择 gram 来执行一个函数时,当我在输入字段中输入一个值时,当我选择 pounds 时,我想要另一个函数来执行时我在输入
我有一个 GLSL 着色器,它从输入纹理的 channel 之一(例如 R)读取,然后写入输出纹理中的同一 channel 。该 channel 必须由用户选择。 我现在能想到的就是使用一个 int
我想根据下拉列表中的选定值生成输入文本框。 Options 2 3 4 5 就在这个选择框之后,一些输入字段应该按照选定的数字出现。 最佳答案 我建议您使用响应式(Reac
我是 SQL 新手,我想问一下如何根据首选项和分组选择条目。 +----------+----------+------+ | ENTRY_ID | ROUTE_ID | TYPE | +------
我有以下表结构: CREATE TABLE [dbo].[UTS_USERCLIENT_MAPPING_USER_LIST] ( [MAPPING_ID] [int] IDENTITY(1,1
我在移除不必要的床单时遇到了问题。我查看了不同的论坛并将不同的解决方案混合在一起。 此宏删除工作表(第一张工作表除外)。 Sub wrong() Dim sht As Object Applicati
我是一名优秀的程序员,十分优秀!