• @pinewong 综合考虑,最后还是选择三表多态关联,医生和病人属于不同的表。😀

  • 谢谢 yingce 不知道是统一在一个 User 表还是直接分成 Physician 和 Patient 两个表好,纠结中。

  • @goofansu 是我搞错了 URL,目前可以实现 echo 了。

  • @goofansu 请教一下,使用测试号 deploy to Heroku 成功了,但是不知道该怎么测试,扫描二维码加了微信,发了一个 TEXT,没有回应。看了一下代码,应该至少有 echo 才对。😀

    class WechatsController < ActionController::Base
      # to allow using wechat message DSL and web page helper
      wechat_responder
    
      # default text responder when no other match
      on :text do |request, content|
        request.reply.text "echo: #{content}" # Just echo
      end
    
      # When receive 'help', will trigger this responder
      on :text, with: 'help' do |request|
        request.reply.text 'help content'
      end
    
  • 在线预约系统 at 2016年10月07日

    #2 楼 @flowerwrong 谢谢,很不错! 还是想做更简单点,和 rails 配合使用做显示就可以了。

  • 在线预约系统 at 2016年10月07日

    #3 楼 @cqcn1991 #1 楼 @Rei 不是,是给国外的小公司开发。

  • @richard_ma 我自己学会使用 Capistrano 自动部署,并且成功把我自己的应用部署到 linode VPS 上。比起期待教程,还是自己沉下心来读文档和 Google 更靠谱。

  • 期待 Rails enum 的新功能 at 2015年12月17日

    @rei @geekontheway 就是想用 symbol 作为查询条件,现在写一个应用,User has_one Profile, Profile 中有个 enum 字段,其中有个查询功能,要根据多选的 enum 字段查找 User,如果能用 Conversation.where(status: [:active, :archived]) 的话就简单多了。

  • 网上查到的一些回复,都没有正式的解决办法,好像最简单的做法是在 controller 里面使用不同的名称,比如 index 和 index_api. 不知道是不是好办法。 http://stackoverflow.com/questions/21255020/using-pundit-with-namespace https://github.com/elabs/pundit/issues/178

  • @rei 谢谢了,是我没仔细看文档,一直以为 strip 是去掉所有空格。

  • @rei @blacktulip @although2013 引申出一个问题,如果字符串"AAA;BBBB;AAA;CC;......;AAA;......;CC;..."在首位的位置有空格,怎么处理(不能去掉所有空格,因为空格在字符串中间是合法的,比如“BB BB”)? 比如:"AAA;BBBB; AAA;CC;......;AAA;......;CC;..." ..............................^在这里有个空格,就变成 "AAA;BBBB; AAA;CC;"

  • @rei @blacktulip @although2013 非常谢谢大家的回复!

  • Ubuntu 14.04 升级引起的问题 at 2015年05月03日

    在 stackoverflow 发现一个同样的错误,但是没人回答解决! http://stackoverflow.com/questions/26839580/carrierwave-image-upload-issues-in-ubuntu-14-04

  • Ubuntu 14.04 升级引起的问题 at 2015年05月01日

    重新降回 ubuntu 14.04 server 旧版本,确认 ImageMagick 在 ubuntu 14.04 server 上是正常安装了的。本机 development 环境也可以正常运行。Production 就是跑不通,真是不知道该怎么弄了。 逻辑也很简单,Project 中 photo 字段引用 PhotoUploader,就是不知道为什么引起 Project save 失败! carrierwave 0.10.0 mini_magick 3.8.1

    vagrant@vagrant-ubuntu-trusty-64:/vagrant/project$ convert -version
    Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
    Features: OpenMP    
    
    vagrant@vagrant-ubuntu-trusty-64:/vagrant/project$ identify -version
    Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
    Features: OpenMP    
    
    vagrant@vagrant-ubuntu-trusty-64:/vagrant/project$ display -version
    Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
    Features: OpenMP
    
    class Project < ActiveRecord::Base
      mount_uploader :photo, PhotoUploader
      ...
    end
    
    class PhotoUploader < CarrierWave::Uploader::Base
      include CarrierWave::MiniMagick
      storage :file
      def store_dir
        "uploads/project/#{model.id}"
      end
      def cache_dir
        'uploads/tmp/project-cache'
      end
      process resize_to_limit: [1120,-1]
      version :thumb do
        process resize_to_fill: [200, 100]
      end
      version :large do
      end
      after :store, :unlink_original
      def unlink_original(file)
        File.delete if version_name.blank?
      end 
      def extension_white_list
        %w(jpg jpeg gif png)
      end
    end
    
  • Ubuntu 14.04 升级引起的问题 at 2015年05月01日

    @billy 我试着在 save 前先执行 crop_project_photo 操作,才发现截图功能不正常,但不知道怎么查找原因。(日常使用 sublime 来写程序)

  • Ubuntu 14.04 升级引起的问题 at 2015年05月01日

    @billy 装了的,我上面提到,在原来的 ubuntu 版本上一切功能都正常的。vagrant box update 升级后就不工作了(升级前后没有程序改动,所以基本可以确认不是代码的错误)。 查了一下,/public/uploads/tmp 下的 cache 目录有上传的原始图片(包括 large 和 thumb 格式图片文件)不知什么原因导致@project.save错误就总是跳转到 new 页面。

    def create
      @project = current_user.projects.build(project_params)
      if @project.save
          render :crop_project_photo
      else
        render 'new'
      end
    end
    

    谢谢了!

  • has_one 的疑问 at 2015年04月30日

    @rei 嗯,根据你的建议,已经更改了#14 楼的代码,很简洁明了,谢谢了!

  • has_one 的疑问 at 2015年04月30日

    @rei 最终确定以下方案,谢谢大家!

    class User < ActiveRecord::Base
      has_one :profile
      after_create :create_profile
    end
    
    class Profile < ActiveRecord::Base
      belongs_to :user
      befoe_create :default_values
      private
        def default_values
          self.role ||= "User"
        end
    end
    
  • has_one 的疑问 at 2015年04月29日

    @winnie 我以前一直把 role, avatar...等等都加在 User 表中,直接定义缺省值,现在是把这些字段分离到 Pofile 表中,如果用 after_save,就要更改程序中引用到 role,avatar...的地方,做一个预判断。使用 wuwx 提供的方案就不需要过多更改现有的程序。

  • has_one 的疑问 at 2015年04月29日

    @wuwx 谢谢,这正是我想要的那种效果,已经加入我的代码中了。之前是没想到每次都会触发数据库的 update。也谢谢 Rei 之前的提醒。

  • has_one 的疑问 at 2015年04月29日

    @rei 不止两个字段,这里是为了方便举例,主要是考虑到以后还会越来越多,而且使用 Device gem,所以不想把过多的 User Profile 字段加到 User 表。:-)

  • has_one 的疑问 at 2015年04月29日

    @rei 谢谢,就是这个问题。每次都被覆盖掉。 题外话:我以前一直把 role, avatar...等等都加在 User 表中,可以直接定义缺省值,现在是想把这些字段分离到 Pofile 表中,这样的实现思路对不对呢?

  • has_one 的疑问 at 2015年04月29日

    @jasontang168 谢谢你,以下是 db migration code, 应该已经加上 reference 了!

    class CreateProfiles < ActiveRecord::Migration
      def change
        create_table :profiles do |t|
          t.string :role
          t.string :avatar
          t.references :user, index: true
    
          t.timestamps
        end
      end
    end
    
  • @alleywind 很简单,运行 sudo vi /etc/nginx/nginx.conf编辑配置文件,在第一行加上:env PATH; 应该就可以了。

  • 可不可以提供源码学习一下?

  • mac + (vagrant ubuntu) + sublime

  • 问题已解决,谢谢大家指点!

  • 换成 last 就正常了,难道是运行在 vagrant 虚拟机上内存不足(512M)导致的问题?

    class HomeController < ApplicationController
      def index
        @new_3_projects = Project.last(3)
        @staff_pick_project = Project.first
      end
    end
    
  • @springwq 谢谢!!!