Rails litte tip

1.部署时遇到 HTTP 400 错误
     找了半天才发现 是URL路径里用了下划线导致了这个问题。URL不能包含下划线…… 还真没注意这个东西。

2.过滤掉html标签
RAILS提供了方法  strip_tags。  自己还写了半天正则。。 餐具

3.从formbuilder中直接获取对象
form_for(@user) do |f|
   f.text_field :name  == f.object.name
end


动态创建nested_attributes
    def link_to_add_fields(name, f, association)  
    new_object = f.object.class.reflect_on_association(association).klass.new  
    fields = f.fields_for(association, new_object, :child_index =>"new_#{association}") do |builder|  
      render(association.to_s.singularize + "_fields", :f => builder)  
    end  
    link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"))  
    end  



state_machine出现莫名其妙的错误
今天给一个类加上state_machine 结果总是报一些莫名奇妙的i18n错误 检查半天发现是给某个event定义名字的时候用到了 validate 。 而这个词是关键字……

Object.send 困惑多时的问题终于解决了。。

这是不知道.send方法时的写法
methods_array = %w {up down left right}

class Cuby

def move_position(act)
  eval("self.#{act}")
end

end


知道了就这样写……
methods_array = %w {up down left right}

class Cuby

def move_position(act)
  self.send(act) if self.respond_to?(act)
end

end


Rails console中输出sql
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.clear_active_connections!


Rails 常用
capitalize 大写
constantize 字符串转为对象 # "Object".constantize => Object
"active_record".camelize                # => "ActiveRecord"

返回来源页面
        session[:return_to] ||= request.referer
        redirect_to session[:return_to]

你可能感兴趣的:(JavaScript,F#,Ruby,Rails,ActiveRecord)