Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
@billy
会员
第 11222 位会员 / 2014-01-23

广州
2 篇帖子 / 896 条回帖
22 关注者
0 正在关注
130 收藏
GitHub Public Repos
  • simple_activity 7

    Record, display and reuse users activities for Rails app

  • pundit 2

    Minimal authorization through OO design and pure Ruby classes

  • react-overlays 1

    Utilities for creating robust overlay components

  • tabs-later 1

    Chrome extension to save and organize tabs

  • simple_activity_demo402 1

    Demo source for simple_activity gem

  • syntastic-local-eslint... 0

    Prefer local repo install of eslint over global install with syntastic

  • chrome-fast-tab-switcher 0

    React-based extension to quickly switch to other open Chrome tabs with just your keyboard

  • demo_sass 0

    demo sass app

  • jquery-bonsai 0

    Super lightweight jQuery tree plugin

  • webpack.js.org 0

    Repository for webpack documentation and more!

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 刚在看一篇讲述 monads 的文章,然后,Ruby 被黑了。。。 at 2014年04月14日

    @5swords present?和try都是 Rails 里面的,你却拿来给 Ruby 打补丁,这都是哪跟哪啊。

    另外 try 最好也不要滥用。像这种Post.where("id = ?",1).first.try(:title)在实际中根本用不着。

    为什么?如果你是显示 Post 页面,id = 1 的 post 根本就不存在,你也就去不了那个页面,就不存在 try 这 try 那的问题来。

    如果你是显示一个 collection, 比如 Post.last(5)。id = 1 的 post 根本就不在这个 collection 当中,更没有必要 try。

  • SaaS 服务里,显示的按 “公司” 信息进行显示的,有没有什么优雅的解决方案? at 2014年04月13日

    @hz_qiuyuanxin 客气了 :)

  • 关于 Rails API 问题 at 2014年04月13日

    @runup Rails 4 API 里面都有啊

    第一种: http://api.rubyonrails.org/classes/ActiveModel/Validations/ClassMethods.html#method-i-validates

    第二种: http://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html#method-i-validates_presence_of

  • 关于 Rails API 问题 at 2014年04月13日

    没区别。我比较喜欢第一种写法,因为通常别的 validations 还需要别的项目,这样好几个 validates 就可以排列得好看一点。

  • SaaS 服务里,显示的按 “公司” 信息进行显示的,有没有什么优雅的解决方案? at 2014年04月13日

    @hz_qiuyuanxin

    第一,你的 API Project.current 和楼主的current_company.projects没有本质的区别,都是要手动加 current 这个 scope。并没有提供任何便利。

    第二,凡是带两个@@的都可能是有气味的。尤其你的 class variable 竟然直接设到 ActiveRecord::Base 更是设计的大忌。我不确定这种设置要是同时几个用户访问,他们会不会得到同样的 comapny_id :)

  • SaaS 服务里,显示的按 “公司” 信息进行显示的,有没有什么优雅的解决方案? at 2014年04月13日

    你这是标准的 multi tinency,的确有更好的方案。要是都这么手动加 scope 会累死的。

    关键点:

    1. Model 里面加default_scope。映射到 current_tenent.

    2. ApplicationController 里面保证有 tenant,并且要写到一个除 controller 之外的地方,不然 model 用不了。

    3. 一定一定要保证 Thread safty。

    可以看看这些参考: https://github.com/influitive/apartment https://github.com/ErwinM/acts_as_tenant http://railscasts.com/episodes/388-multitenancy-with-scopes?view=asciicast (纯手工,无 gem)

  • 如何安全地提交敏感数据? at 2014年04月13日

    @jasl 这么烂你还贡献。我想说...你真能忍啊。

  • 如何安全地提交敏感数据? at 2014年04月12日

    @cassiuschen 你做 web app 的 api 时没有任何问题啊,还是可以用 cookie。做 mobile app 我不太熟,但应该可以用 token 或者也可以用 cookie,还是不需要直接的 id。

    如果实在避免不了在表单里用 user_id,你也可以在 controller 里面验证的。if params[:user_id] == current_user.id 不过这种代码就难看一点。

  • 如何安全地提交敏感数据? at 2014年04月12日

    @cassiuschen 在表单里填 current_user id 是错误的做法。正确的做法是不要 user.id, 而直接在 controller 里面取 current_user

  • 如何安全地提交敏感数据? at 2014年04月12日

    "可这在浏览器端很容易就可以吧表单信息修改掉,从而取得别的用户的授权" -- 除非截获 http 请求或者直接拿到其他用户的 cookie,否则你能很容易就改成其他用户?

    要真是用户的请求被截获或 cookie 泄漏,这也不是网站能够解决的问题。

  • 刚在看一篇讲述 monads 的文章,然后,Ruby 被黑了。。。 at 2014年04月12日

    这个要看场景,很多时候报错优于沉默。

    比如作者引用的find_by_id。在大多数场景下,特别是 controller 中,应该用find来期待报错而不是find_by_id,然后rescue ActiveRecord::RecordNotFound。

    有时候沉默会比较好,比如处理复杂的 hash 的时候。

  • 最近开始看全 E 技术书 有专门讨论推荐 - 介绍 - 评论网站吗 at 2014年04月12日

    goodreads.com

  • 公司内网如何安装 gem? at 2014年04月11日

    用笔记本的话就拔下网线,用手机热点上网装 gem,搞定。 最后连上网线,拿手机话费发票找老板报销。

  • 请问 :remote => true 的链接在用户新开标签页这种操作后出错的处理 at 2014年04月10日

    500 就很好啦。按钮是让你点的,不是让你开新页面的。不按常理的用户需要给予防范,不需要给予友好处理。

  • 在 OpenSSL 心脏攻击中 Rubyist 该怎么办 at 2014年04月10日

    刚查了 Ubuntu 最新的 package 都只有 1.0.1f,4 月 7 号出的,还说明了是应付这个问题的。http://www.ubuntu.com/usn/usn-2165-1/ 怎么破?

  • POST 把参数 id 当成 format at 2014年04月09日

    单层 RESTful 路由的 index, create, new 是不需要路径参数的,所以你提供的参数变成了 format。

    如果直接拿 product 做参数,你需要product/123/line_items这样的路由

    resources :products do
      resources :line_times
    end
    

    嵌套路由在这里是非常合适的。

    如果你实在不喜欢嵌套的,而喜欢直接line_items。那你需要在发送 POST 参数时手动提供 product_id,不然 controller 没法知道这个 line_item 属于谁。这样会麻烦一些。

  • ember.js 发了这么多请求 at 2014年04月08日

    @pynix 如果没有 submit button 话,按常理很难想到你只接受 enter。这不友好。但这里的确不需要 submit button,输入即得最直观,也可以展示框架的功能。

  • 如何在 VIM 上实现类似 RubyMine 提供的快速跳转文件和全局搜索的功能? at 2014年04月08日

    搜索文件名。可以用 CtrlP 插件,会自动探测项目的根目录,比如说有.git,然后 Ctrl+p 一键,好吧,是两键,随意搜索文件名,回车跳转,二十分方便。还有其他键可以查看最近文件,buffer 文件。必备利器。

    在文件目录下搜索字符。这个我不常用,用的时候是用 NERDTree 再加 Ack 插件。跳到 NERDTree, 选中目录,按 s, 再输入要搜的东西。不限定于 Rails 根目录。

    还有一个 Rails.vim,随意在代码文件,测试文件和 View 之间跳转,如果是常规 Rails 项目是非常方便。我最近做的以 API 为主,嫌这个插件略为占用资源,禁用了。

  • ember.js 发了这么多请求 at 2014年04月08日

    @tyaccp_guojian 多谢邀请!不过我不在北京,参加不了了 :)

  • ember.js 发了这么多请求 at 2014年04月08日

    这个和 ember 没有任何关系,完全在于你自己对输入事件的处理。别的框架,jQuery,vanilla Javascript 都一样。

    我觉得 ember 官网对这个具体细节的处理是欠完美的,不过就像@Rei说的,反正是别家的网站,不在乎 :)

    我觉得完美一点可以这么做:

    • 输入字符时有函数负责处理,提示已输入的字符,及提示正在输入,不发送对外请求。

    • 以上函数同时检查是否 valid email,如果是,发送请求。处理请求并加上或更新图片。

  • 部署 Rails 起码要一台 VPS,有什么低开销的方案? at 2014年04月05日

    VPS 都觉得贵就不要用 Rails 开发了,或者干脆都不要定制开发了。随便用个什么现成的东西他自己折腾去。

    你现在有空帮他免费做,谁来帮他维护?有临时小需求谁来帮他做(还不说大的改动了)?维护的工钱分分钟都超过 VPS 价格。没有这个心理准备干脆开始就不要动为好。

    人生宝贵,没必要把时间浪费在不靠谱的事情上。朋友的想法不靠谱,你了解情况的话有责任提醒他。

  • 每次启动电脑 要 rvm use 2.0.0 才能使用 rvm 安装的 ruby 和苹果自带的 ruby 版本上有些不同 怎么破? at 2014年04月04日

    砸破?摔破?

  • 用 CSS 写了几个 hover 特效,求拍砖 at 2014年04月04日

    很漂亮。建议把效果包分开可能会比较好,目前 min.css 一百多 K 感觉有点大。需要哪个就加哪个,毕竟一个项目里面最多也就用一两组效果。

  • ruby 的正则 at 2014年04月03日

    str.match(/font-family:([\w|\s|-]+)/)[1].strip

  • 将 HTML 保存到数据库,怎样让页面显示不显示代码,而显示效果 at 2014年04月02日

    @waitingaminute 理解,同情。

  • 将 HTML 保存到数据库,怎样让页面显示不显示代码,而显示效果 at 2014年04月02日

    这种乱糟糟的数据真是不忍卒睹。不要图快图省事,wordpress style 不可取。

    长久的办法是把数据和样式分开。内容是内容,样式是样式,两者完全不是一种东西。你可以在内容中允许一些简单的 semantic html, 比如<strong>, <em>,但仅此而已,如果用其他的 parser 比如 markdown,bbcode 更好。

    如果你在这种现有的数据上修修补补,就是在给自己累积麻烦。不合适的设计最终会咬伤你的。

  • turbolinks 中如何 reload 页面 dom? at 2014年04月01日

    试试 Turbolinks.visit(window.location)

  • [已解决] 那种会自动消失的通知功能怎么弄的? at 2014年04月01日

    $('#notice').fadeOut(5000)

    Can't be simpler than that.

  • 上一页
  • 1
  • 2
  • …
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English