• 这种被选中才能有回报的模式,觉得才是对开发者的歧视,不能想象有人愿意去做。

  • #2 楼 @quakewang

    确实 disabled=false, 在 slim 中可行,之前写成了 disabled="false"这种,所以才有问题

    =f.input_field :id_no, class: "form-control", disabled: cannot_edit
    
  • 在 DaoCloud 上部署 Rails App at 2015年10月17日

    #4 楼 @cassiuschen

    start.sh 中写 rake db:seed,不合适吧。每次部署时,都会被执行一遍,应该是 rake db:migrate 吧

  • #3 楼 @imlcl

    总是看到 Hhkb,比 cherry 的青轴,红轴,更好吗?

  • routeable 组件,指这个组件在不同的路由下,表现不一样?这个文章的例子里,觉得 think in ember 的解决办法,比基于事件的看着更优雅啊。这篇文章,并没让我感受到为啥 route 比 controller 更重要,不过现在 controller+route+template 是有些松散。

  • #61 楼 @nightire

    最近看 ember 的书,对 rails 开发者确实太亲切了,各种能对应。

    对 emberjs,还不算熟,有几个疑问。

    ember-data,如果客户端的数据和服务器端不一致呢,比如 save 后,发 api 请求,但因一些意外失败了?

    另外 ember-cli,为什么要要是 bower,又是 npm,包管理一定要 2 个?

    似乎 react 里的组件间通信,在 ember 里并没有体现?

    graphql,socket.io 这些东西,ember 社区有相应的努力吗?ember 的社区怎么样?

  • #5 楼 @jasl

    活动后,求视频啊,期间人在新疆了,参加不了

    另外那些未入选的主题,也能放出 keynote 吗,比如 strikingly 的另外 3 个

    都是好好的主题啊,

  • 就是把页面上用户输入的文本内容,通过 ajax 请求发送到服务器,服务器上通过 markdownconverter 这种东东,记得是 redcarpet 这个 gem,转化成 html,然后 preview 节点显示出转化后的 html。

    ruby-china 实现的这个 markdown 编辑效果,可以抽离出来到自己的博客系统或其它地方什么的

  • #47 楼 @nightire

    嗯。实现原理我懂。之前拿来主义居多,倒是木有想,自己写个 helper 封装下。

    感觉这个帖子,是目前在 ruby-china 上看到最有价值的帖子了。

    其实觉得,多争论挺好的。都拿出自己的理由,要是再有个 react 大神参战就更好了

  • #43 楼 @nightire

    认证我知道 jwt, token 这种东西能解决。peatio 里有一份 api token 的解决办法。而鉴权现在想想,认证后,用户身份已知,返回其相应能获取的 json 数据。

    cancancan 比较方便的点是,view 里面可以 if can?,但是现在通过 api 返回 json,只能通过 json 里的数据去针对性的 render, 会复杂些,但仔细想,很多场景下,应该还是够用的。

    在你看来,ember 或其他框架熟练后,分离出来的前端代码,是否开发效率也能很高,ember 的生态环境怎么样?

  • #40 楼 @nightire

    那比如说现有 devise 这样的登录系统,以及 cancancan 这样的权限控制用的,ember 或其它前端框架有现有,或者比较好的解决办法吗?

  • #19 楼 @lelewan

    能不能贴上你的 grape 函数,只需要包含 require 部分,以及你使用的 rest_client post 过来的时候 content-type 是 json 吗?

  • #3 楼 @msg7086

    就是现在/apiv1/screens.json 能够正确访问到数据,这个是不希望看到的,是否有办法保证仅仅/api/v1/screens.json 能访问到数据,注意中间的"/", 现在 mount 到了/api/, grape 里的版本是 v1, 路径是/screens,

  • @dfguo

    能不能推荐些 react 线上在运行着的开源 web 项目?SPA 的。要是界面更漂亮那就更好了。

    要是再有 react vs ember。。O(∩_∩)O~,从周边来看,觉得使用 react 的人更多了。

    awesome-react 的 app 节点下的推荐太少了,Khan Academy'的 perseus 也不好看。

  • #20 楼 @nightire

    我明白你说的前后端分离,是仅通过 api 通信,写过一个很烂的 react 代码,就是通过 api 通信的,https://github.com/seaify/ipool/tree/master/proxy-frontend

    而 react-rails, angular-rails 这些 gem,如果使用了,也只能使用一部分特性,用不了 flux, 但是好处在于它能继续使用 asset pipeline, 能继续混着其它的 gem 带的 view 一起用。不过我是支持彻底分开的,这样的话,后端选型上范围更大,而且很多时候,前端值得单独彻底抽离出去。

    前端的世界里,至少我知道通过 browserify,也能使用各种 npm 包,因为我关注的是 react.js, 然后 react-china 这个社区和 ruby-china 比起来还太弱,也没看到 react 很多出名线上的开源项目,所以还没大量时间投身 react。另外刚学会 browserify, gulp, grunt 这些东西,现在又有 webpack,变化太快了

    jquery 反正在我看,思想是太古老了,可是现在前端框架又给人变化太快了,facebook 系列的 react, flux, relay, graphql,react 和 graphql 都给人眼前一亮的感觉,可是相应使用它们的开源项目太少,我只是想在等等。等到时间更合适些。

    反正目前的前端代码和后端代码在一起,页面上通过 jquery,我是非常反感的,太弱了,一点简单的事情写 coffee 太蛋疼,目前正在想用什么样的解决方案来替换掉它,影响开发效率和心情

  • #17 楼 @lelewan

    我不知道你说的是什么问题。

    我现在没有使用 param requires 这些,使用的 gem 的版本

    gem 'grape', '~> 0.7.0'
    gem 'grape-entity', '~> 0.4.2'
    gem 'grape-swagger', '~> 0.7.2'
    

    gem 升级后的问题没有解决,还没有尝试 grape-swagger-rails,直接在做另一个项目了。

  • #1 楼 @alucardpj

    有没有办法,让http://localhost:3001/apiv1/screens.json访问失败?

  • #11 楼 @nightire

    非常感谢你的这些推荐。特别是第 2 和 3 项开源项目。

  • #10 楼 @nightire

    就当做是考量。有些舍不得这么多已有的 gem

  • #7 楼 @nightire

    react 很火,react-bootstrap, react-material-ui, 还有各种组件,但是 awesome-react 上面,看不到什么线上在运行着的开源 web 项目,像 peatio, ruby-china 这种。

    论坛上看到你们提到 ember,对 ruby 工程师友好,有了兴趣。

    我也不喜欢 jquery, jquery-ui,也觉得 react 很优雅,ember 不知。

    但是采用前后端分离,不少带 viewer 的 gem,那些 helper 在 view 里用不了了。方便的表单验证,页面上的权限管理,等等许多问题不知道前端框架的场景下是怎么解决的。

    如果有了多一些的 react,或 ember 开源项目,能迅速学习,我是肯定放弃 jquery 的。操作 dom。尼玛。写着都烦。

  • #15 楼 @justin

    我没有用 grape-swagger-rails,是直接把 swagger-ui 的那些 js, css 文件拷贝到 asset, 而那些路由是 ruby-china,和 peatio 两边都参考了下。

    我也试下 grape-swagger-rails

  • #8 楼 @justin

    囧。升级后,直接不可用了。

    ActionController::RoutingError (No route matches [GET] "/api/v1/swagger_doc/screens.json"):

    路由找不到了。估计 add_swagger_documentation,生成的那个 url,其包含的 json 信息不对了。

  • #8 楼 @justin

    嗯。版本问题,我这边版本低了,和 peatio 一样。不过 Data Type 是 Array,即便是 array, 我的理解里,也不应该有 name 这个字段。

  • #9 楼 @hammer

    感谢回复。

    我也有用了 ActionController::Parameters,只是你的这段代码,看样子,是处理 form 表单,且字段名是 project[xxx],可我想要的是 json。

  • #10 楼 @doitian

    非常感谢,这正是我想要看的。grape-swagger 的文档里看到有这个,param_type: 'body',还没试。

    你的这个效果图,是 swagger-ui 结合什么弄出来的?

    另外看这个图,grape 应该是没有办法支持指定 body 这个 json 里,必须包含 name 字段,这种限制条件吧?

  • #4 楼 @jan

    感谢你的回复,明白了该怎么去自定义数据 format。

    我更关心的是 json 的这种数据格式,能否通过 params, requires, desc 这些关键字来对参数验证,以及 swagger-ui 能否合理的根据这些 api 信息合理的生成相应的页面,用来方便的模拟请求。

  • #5 楼 @justin

    这个我也奇怪,因为 name 出现,根本就不是我想要的,peatio 的 api 文档也是这样的,https://yunbi.com/documents/api_v2#!/orders/POST_version_orders_multi_format

    正是因为这个奇怪的问题,我才改成下面那样去绕

    requires "name[first]", type: Integer, desc: "空闲内存"
    requires "name[last]", type: Integer, desc: "空闲内存"
    
  • #2 楼 @alucardpj

    传递 json 参数确实没问题,我说的问题是,比如这个 json {"name": "chuck"},我需要确认 json 中这个 name 字段要有,如果使用 requires :name, 没有作用,

  • #25 楼 @seaify

    之前问过这样两个问题,现在自己来解答下。

    1. gem, route 这些函数写在 Rails::Generators::Actions 这个 module 中,所以直接 include,就可以了。
    require 'thor'
    require 'awesome_print'
    require 'rails'
    require 'rails/generators/actions'
    require 'fileutils'
    
    class Weapon < Thor
      include Thor::Actions
      include Rails::Generators::Actions
    
    1. thor 里获取 rails 的配置信息 rails 的这些运行时信息,配置信息,是 rails 整个项目初始化后,才有的信息。而 rails 之外的这些命令是读取不到这些信息的。 可行的办法是,将自己注入到 rails 中,目前看来就是生成 generator,再以 rails g generator 这种形式去运行,如 ruby rails g grape_entity generate_entity program

    rails 很好的地方在于,我们可以很方便的按照自己想要的方式去写代码,偷懒。

  • Rails 源码分析之 callback 篇 at 2015年08月13日

    #1 楼 @jackxu

    好建议。

    在自己将 callback 的方方面面梳理清楚,以及文字能表达清楚后,会在 github 上追加样例,方便运行查看。