舔的时候的姿势?技术要点?
支持,之前就遇到 submodule 删除子仓库各种麻烦的问题
楼主,你在测试什么啊
我也是新手,代码写得比较乱,希望你能看懂。
将关联数据渲染成嵌套的 json,每次更新选择之后取到新的 category 的 id,再通过 category 的 id 取到对应的 tags 集合,更新到下一级的select
控件。比如 controller 里边可以写:
# app/controllers/products_controller.rb
class ProductsController < ApplicationController
def edit
@multi_level_products_hash = {}
@categories = Category.all
@tags_options = {}
tags = @categories.map(&:tags).flatten
tags.each do |tag|
@tags_options[tag.id] = "<option value=#{tag.id}>#{tag.name}</option>"
end
@products_options = {}
tags.map(&:products).flatten.each do |product|
@products_options[product.id] = "<option value=#{product.id}>#{product.name}</option>"
end
@categories.each do |category|
@multi_level_products_hash[category.id] = {}
category.tags.each do |tag|
@multi_level_products_hash[category.id][tag.id] = tag.products.map(&:id)
end
end
end
view 层的代码片断
<!-- app/views/products/edit.html.erb -->
<%= collection_select :category, :name, @categories, :id, :name %>
<%= select_tag :tag %>
<%= select_tag :product %>
<%= javascript_tag do %>
var multiLevelProducts = <%= raw @multi_level_products_hash.to_json %>;
var tagsOptions = <%= raw @tags_options.to_json %>
var productsOptions = <%= raw @products_options.to_json %>
<% end %>
后边要做的事就是每次通过 category 的 idcategoryId
取到对应的 tags 的 id 的集合,也就是multiLevelProducts[categoryId]
的键集。tag 的处理跟 category 一致。
// app/assets/javascript/products.js
$.extend({
keys: function(obj) {
var a = [];
$.each(obj, function(k) {
a.push(k);
});
return a;
}
});
$(document).ready(function() {
$('#category_name').on('change', function() {
var categoryId = $(this).val();
var tagsKeys = $.keys(multiLevelProducts[categoryId]);
var options = [];
$.each(tagsKeys, function(key, value) {
options.push(tagsOptions[value]);
});
$('#tag').empty().append(options);
});
}
#15 楼 @yeyong14 遵循 Markdown 的语法就行了,http://wowubuntu.com/markdown/ , 代码块是新行以 ``` 加上语言名称开头,比如我在 9 楼的回复的原文是:
爱莫能助,只能到时买书了
最后建议楼主学一下 markdown 的排版。
楼主是不是在 index action 里边忘了给@products
挨个生成图片了,因为看你的代码
@product = Product.new
@product.photos.build
这个应该是show
这个 action 里的吧?
index
里边是不是应该这样:
@products = Product.all
@products.each do |product|
product.photos.build
end
image_url
哪里定义的?而且去掉image_url
后怎么可能会是数组呢?提示不是写的 for nil:NilClass吗?应该是你的product.photos
的结果是一个空数组吧?
敬佩写代码的女生
用的,感觉个人用就足够鼓捣了。 #4 楼 @darkbaby123 我上次往我的 VPS 放了一个 wordpress,发现 php-cgi 需要占用接近 50% 的内存。
回头有时间了也研究一下,我之前都是用的 gem 也是依赖activemerchant_patch_for_china
哎,wp 用户想扫一扫看下都没希望了,楼主坚决不放图吗?
为了交大作业写的一个非常简陋的网站。。。
#38 楼 @as181920 只有确认收货的,https://lab.alipay.com/consume/queryTradeDetail.htm?actionName=CONFIRM_GOODS&tradeNo=20130306xxxxxx23,最后的 tradeNo 是每一笔交易的支付宝交易号。
支付宝的担保交易现在只有支付接口和确认发货接口,确认收货可以直接在订单页面放置一个链接,引导用户前去支付宝退货,但是像退货以及价格调整这类的操作就麻烦了。
哇靠,果断申请一个先,就算是为了开发也好!果断赞一下楼主
路过支持一个!
好宝贝