楼主是想吐槽 replacement 里面有 special match chars 是吗 不过 API 都已经明确说明了这些情况了 http://ruby-doc.org/core-1.9.3/String.html#method-i-gsub
1.9.3p429 :045 > '\&'
=> "\\&"
1.9.3p429 :026 > 'asd'.gsub('d', '<\&>')
=> "as<d>"
1.9.3p429 :047 > 'asd'.gsub('d', "<\\&>")
=> "as<d>"
-K kcode Specifies KANJI (Japanese) encoding. The default value for script encodings (__ENCODING__) and external encodings (Encoding.default_external) will be the specified one. kcode can be one of
e EUC-JP
s Windows-31J (CP932)
u UTF-8
n ASCII-8BIT (BINARY)
ruby1.9 直接在文件头
#encoding: utf-8
就可以处理中文了
symbol = 'name'
hash[symbol.to_sym] = 'test'
puts 'hi' if 0
那个 blog 是 10 年的,你要看的话应该看https://github.com/plataformatec/devise generator 只是 copy 了 devise 的 view 到你项目里面
另外 ArgumentError 明显是 method 方法的异常,应该首先去查 form_for 的文档 rails 2 中的 form_for 的参数是 form_for(record_or_name_or_array, *args, &proc) 所以上面的写法应该是 rails 2 的
form_for 是只有两个参数的
form_for(record, options = {}, &block)
devise 的 view 也是这么写的 https://github.com/plataformatec/devise/blob/master/app/views/devise/confirmations/new.html.erb#L3
你的 form_for(resource_name, resource, :url => confirmation_path(resource_name)) 是哪里来的?
你的 chrome 确定是 ajax 提交的?
ApplicationController.helpers.form_tag
你的 gem 是 engine?
你可以在 initializers/里面调用 Gem 的方法取得你要的值 赋给 Rails.application.config.asset_host(没试过,应该可以)
如果要写入 engine 里面, 在 engine/lib/engine_name.rb 里写个 initializer hook
class Engine < ::Rails::Engine
initializer :assets do |config|
Rails.application.config.assets_host = SomeClass.some_method
end
end
module A
def self.included(base)
if base == F
base.send :include, E
end
end
end
gets 得到的 String,不是 Numeric
a = Matrix.zero(n.to_i).to_a
1)实例化的时候没有调用上面的方法,但是在定义 Book 这个类是已经执行了这些方法
deprecate(:GetTitle, :title)
...
2)LEND_TO_USER 是通过 deprecate :LEND_TO_USER, :lend_to 在定义这个类时一起定义出来的。具体可以看 define_method 这个方法
类宏我觉得应该是在定义类时执行的代码,如 deprecate(:GetTitle, :title),最简单的是
class A
puts 'hello'
end
拟态方法不知道是什么,建议读原版书。
http://keepgooglereader.com/ 已经有人在行动了
= csrf_meta_tags
在你自定义的 layout 中加入这个,csrf 可以去看 rails guides 的安全那一章
那条记录删除成功?
另外
post :create content: 'Lorem lipsm'
不是少了个,吗