2.英文不好,那么多翻译工具、网页也可以用,有什么看不懂的?
3.已谷歌,不知道你谷歌的啥,例如你不知道 puts 怎么用,这估计 google 也帮不了你了吧。。。
图全挂了
#5 楼 @qinfanpeng 谢谢!之前安道的书籍 5 折优惠,果断买了,以为是一直同步更新的... 1 楼的回答的时候我还纳闷:我才买的,怎么不是‘最新的’?囧。。只能一边当作参考了
#3 楼 @kai209209 谢谢分享!
#1 楼 @night_7th 是的,但我是才买几周的,整个项目都是参考的案例,ruby、rails 版本也是一致的。怎么没法用 have 方法....不明白
我也好寂寞。今年毕业设计列表里,除了我,没一个毕业设计的关键字是“ruby”或“rails”开头的
写一个 namespace,然后在对应的 /_controller 里指定 layout,然后在 stylesheets 里对应的那个域下的 application.css 里引用就可以了,应该是这样吧,不会有冲突的
反正我感觉 rubymine 也就跳转 这个功能比较舒服了。。。
#1 楼 @qinfanpeng 估计他想问的是“域”的问题。建议楼主先把什么是面向对象搞清楚
这个。。。。。
点进去后逛了一下,然后发现:怎么这么多讨论 android 的,这不是 rubychina 吗。。。?结果发现自己在 diycode 里。。。
if !weather.nil?
session[:current_weather] = 'rain' if weather.include?("雨")
session[:current_weather] = 'snow' if weather.include?("雪")
session[:current_weather] = 'cloud' if weather.include?("云")
end
if !weather.nil? 建议换成 if weather.present?
还会根据不同天气给出不同背景吗?特效很 nice 啊感觉!
blog 的背景是用的什么插件吗
伟大的字幕组团队用的竟是 rails~!顶!
我之前也以为是自己哪设置没对,win 下和 mac 下都丑哭...还晃眼
已买,50 大洋花去...感觉部署那本太贵了,2M 就 30 块,还是 5 折....
#16 楼 @redemption 执行逻辑是一样的,可能有些细小的差别或者什么机制影响的。2 个对象的调用都是通过同一个 patters_controller 的 index 进入 base_model 里的 default 的。不想深究了....一想着 随便加个空格,程序第一次就报错,之后就正常的现象就够恶心了...
#14 楼 @redemption 不是 order 没有调用成功,是调用 order 的主体,以及它主体的主体没有成功,就是第一句 relation = clone,在 micropost 中无法克隆自己,我也不知道为什么。
#11 楼 @redemption 谢谢了。把 clone 换成 self 就可以了。但还是不清楚为啥 Micropost 里不能 clone 自己而 User 可以..
#10 楼 @redemption 在报错的时候输出 model,直接说没有这个变量。。项目在这里。
发现问题好像出在这,这是_where 方法,是 default 方法调用的它
def _where params
relation = clone
case
when params.is_a?(String); return relation
when params.is_a?(Array); return relation
when params.is_a?(Hash)
params = params.map do |field, condition|
condition = case
when condition.is_a?(Hash); condition
when condition.is_a?(Range); { '>=' => condition.begin, '<=' => condition.end }
when condition.is_a?(Array); { 'in' => condition }
else; { '=' => condition }
end
condition.each do |operator, value|
{ %[''] => '', %[""] => '', 'true' => true, 'false' => false, 'nil' => nil, 'null' => nil }.each{|x,y| value = y if value == x }
operator = operator.to_s.downcase
operator = { 'eq' => '=', 'lt' => '<', 'gt' => '>', 'gteq' => '>=', 'lteq' => '<=', 'noteq' => '!=' }[operator] || operator
# operator = { '<' => 'lt', '>' => "gt", '>=' => 'gtep', '<=' => 'lteq', "!=" => 'noteq'}[operator.to_s] || operator
next if 'active' == field
operator = { '=' => 'is', '!=' => 'is not' }[operator] if value === nil
# raise unless field.to_s =~ /^(?:[`'"]?(\w+)[`'"]?\.)?[`'"]?(\w+)[`'"]?$/ && (%w[= > < >= <= != in like is]+['is not']).include?(operator)
if operator == 'like'
relation = relation.where("#{field.to_sym} like ?", "%#{value}%") if value.to_s.present?
elsif ["=", "<", ">", ">=", "<=", "!="].include?(operator)
# relation = relation.where(field.to_sym.send(operator) => value) if value.present?
p field
relation = relation.where("#{field} #{operator} ?", value) if value.to_s.present?
else
relation = relation.where(field.to_sym => value) if value.present?
# end
end
end
end
end
relation || clone
end
在 Micropost 里没有办法 clone 自己,所以报错,但在同样的 user 下就没有问题。。
#7 楼 @redemption 就是两种情况下输出 self,都是 Micropost 对象。唯一区别就是上面提到的
#7 楼 @redemption 问题就在这,当项目随便保存一个空格(不改代码)在 default 的第一句断点里,调试输入一下 self,程序没有任何报错。但断点里如果不输入 self,那么直接 exit,就会报上面的错。
#3 楼 @redemption 可能是之前调试的时候改过没注意...执行主体就是 self,是 self._where,我把原文改过来了
在调用 default 方法前打断点,执行 model.default,两次结果不一样,第一次报错,也就是页面上看到的错,第二次就正常了,为什么会出现这种情况?
def model
name = self.class.name
return if name =~ /ApplicationController$/
@model ||= name.remove(/^Manage|Controller$/).singularize.constantize
end
model.default(params)
Load (1.0ms) SELECT "".* FROM "" ORDER BY "microposts"."created_at" DESC, created_at desc
SQLite3::SQLException: no such table: : SELECT "".* FROM "" ORDER BY "microposts"."created_at" DESC, created_at desc
=> #<#<Class:#<Micropost::ActiveRecord_Relation:0x007f7dccd10050>>:0x3fbee6688028>
[2] pry(#<Manage::MicropostsController>)> model.default(params)
Load (0.4ms) SELECT "microposts".* FROM "microposts" ORDER BY "microposts"."created_at" DESC, created_at desc
=> [#<#<Class:0x007f7dccc85680>:0x007f7dccbfcc68
id: 11,
content: "saddas",
user_id: 18,
created_at: Sat, 30 Apr 2016 14:27:35 UTC +00:00,
updated_at: Sat, 30 Apr 2016 14:27:35 UTC +00:00,
picture: nil>,
#<#<Class:0x007f7dccc85680>:0x007f7dccbfcb00
id: 10,
content: "dasdsa",
user_id: 18,
created_at: Sat, 30 Apr 2016 13:55:33 UTC +00:00,
updated_at: Sat, 30 Apr 2016 13:55:33 UTC +00:00,
picture: nil>]
为啥 11M 的 REpec 才 15,4M 的部署之道要贵 1 倍啊.....
是没有问题的,注意是不是翻译的内容有空格 比如 User: 狗 蛋
有空格得放字符串里,楼主试试