@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
#2 楼 @flowerwrong 谢谢,很不错! 还是想做更简单点,和 rails 配合使用做显示就可以了。
@richard_ma 我自己学会使用 Capistrano 自动部署,并且成功把我自己的应用部署到 linode VPS 上。比起期待教程,还是自己沉下心来读文档和 Google 更靠谱。
@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 非常谢谢大家的回复!
在 stackoverflow 发现一个同样的错误,但是没人回答解决! http://stackoverflow.com/questions/26839580/carrierwave-image-upload-issues-in-ubuntu-14-04
重新降回 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
@billy 我试着在 save 前先执行 crop_project_photo 操作,才发现截图功能不正常,但不知道怎么查找原因。(日常使用 sublime 来写程序)
@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
谢谢了!
@rei 嗯,根据你的建议,已经更改了#14 楼的代码,很简洁明了,谢谢了!
@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
@winnie 我以前一直把 role, avatar...等等都加在 User 表中,直接定义缺省值,现在是把这些字段分离到 Pofile 表中,如果用 after_save,就要更改程序中引用到 role,avatar...的地方,做一个预判断。使用 wuwx 提供的方案就不需要过多更改现有的程序。
@wuwx 谢谢,这正是我想要的那种效果,已经加入我的代码中了。之前是没想到每次都会触发数据库的 update。也谢谢 Rei 之前的提醒。
@rei 不止两个字段,这里是为了方便举例,主要是考虑到以后还会越来越多,而且使用 Device gem,所以不想把过多的 User Profile 字段加到 User 表。:-)
@rei 谢谢,就是这个问题。每次都被覆盖掉。 题外话:我以前一直把 role, avatar...等等都加在 User 表中,可以直接定义缺省值,现在是想把这些字段分离到 Pofile 表中,这样的实现思路对不对呢?
@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 谢谢!!!