初学 rails。。。表吓我
12
#2 楼 @blacktulip 商品数一共 5k 多吧,不方便一次全读进前端,移动设备可能比较吃力。另外能不能说一下 2-way binding 的库该怎么做呢?谢谢
程序猿何苦为难程序猿
唉,其实我能理解老师的意思,我做完走了以后不好找人接。只是觉得对于这种不是什么大项目,更新一下技术是挺好的事情。Rails 入门也很简单,就算找不到有经验的人,现学也可以啊。
#18 楼 @allenfantasy 老师看了我做的 demo 和以前用 java 做的东西,决定用 jrb...
确实如@xiaoronglv所说,实验室老师不会 rails,以前的项目也都是用 extJS 做的,所以他们不想换。 同意@marksloan的看法,就当是学习个新东西,同样是 MVC 架构,拿来对比一下 Rails 也不错。 现在有两个老师在争论要不要用 rails
我之前给一个 model 命名为 Type ,看着怪怪的,趁还没写多少强行改掉了。。
#1 楼 @billy #3 楼 @small_fish__
啊,果然,原来是 row 没有定义,改成@row或者加上 accessor 就没问题了。 另外非常感谢你的其他建议,以后我会注意的:D
最后贴一下正确的代码吧(代码风格什么的没改):
# -*- coding: utf-8 -*-
class CSVRow
attr_accessor :row
def method_missing name, *args
row.key?(name.to_s) ? row[name.to_s] : nil
end
def initialize(headers, row)
@row = Hash[headers.zip(row)]
end
end
module CSVEnumerate
def each(&block)
csv_contents.each &block
end
end
class ActsAsCSV
include CSVEnumerate
def read
file = File.new(self.class.to_s.downcase + '.txt')
@headers = file.gets.chomp.split(', ')
file.each do |row|
@result << CSVRow.new(@headers, row.chomp.split(', '))
end
end
def headers
@headers
end
def csv_contents
@result
end
def initialize
@result = []
read
end
end
class RubyCSV < ActsAsCSV
end
csv = RubyCSV.new
csv.each {|row| puts row.one}
#4 楼 @blacktulip 厉害!
Geek 的文风不是很喜欢,讲的道理还是很对的
#3 楼 @lithium4010 对对,就是这个意思
#1 楼 @blacktulip @wyvernfly 哦,你们误解我的意思了,我想说的是循环遍历,不是普通的遍历啊
linux 的 iconv 命令也可以做到编码转换 另外提一句,既然你用 GBK 显示的是乱码,那说明这就不是 GBK 编码的,你用 GBK 去解码肯定不对啊,何谈转到 UTF-8 呢?说不定文件本身就是 UTF-8 而且 GBK 内部又有很多小编码集合,建议楼主先弄清源文件的编码在做