#9 楼 @ChanceDoor 嗯嗯,好的,谢谢了啊
#7 楼 @ChanceDoor 淘宝上那些都看不见摸不着的,怕做了之后质量不好就没得退了。谢谢你了啊,我也自己多上去问问吧,有好的会分享出来的。
#5 楼 @ChanceDoor 你能提供?七八件吧,价格的话我也说不准,主要是质量得好一点
回帖以示支持!
#11 楼 @small_fish__ 有一些框架的前端都是用 erb 写的,直接用 erb 会省事很多。以前觉得 erb 挺烦的,后来用上了 emmet 插件,写 erb 的时候就省事不少了。
#3 楼 @ChanceDoor 就是简单的就行,素色衣服上印上公司 logo
舔的时候的姿势?技术要点?
支持,之前就遇到 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 用户想扫一扫看下都没希望了,楼主坚决不放图吗?
为了交大作业写的一个非常简陋的网站。。。