desc '创建账户信息' do
failure [
[498, '账户号已存在'],
[499, '操作失败'],
]
end
params do
requires :number, type: String, desc: '账户号', message: :requires
requires :unit, type: String, desc: '收费单位', message: :requires
requires :name, type: String, desc: '户主姓名', message: :requires
optional :address, type: String, desc: '户主地址'
optional :balance, type: String, desc: '账户余额'
optional :deleted, type: Boolean, desc: '账户未激活?'
end
post '/' do
if Fuel.exists?(number: params[:number])
error!('账户号已存在', 498)
end
if params[:balance] && params[:balance].to_f <= 0
error!('账户余额不合法', 400)
end
# @fuel = Fuel.new(params.permit(:number, :unit, :name, :address, :balance, :deleted))
@fuel = Fuel.new(declared(params, include_missing: false))
# 执行操作,失败直接返回
error_by!(@fuel.save)
# 正确返回
return_success
end
意图就是 create 的 api,然后主要问题在代码:
# @fuel = Fuel.new(params.permit(:number, :unit, :name, :address, :balance, :deleted))
@fuel = Fuel.new(declared(params, include_missing: false))
现在我是用第二句解决健壮参数问题(加上了gem 'hashie-forbidden_attributes'
以取消 Rails 的默认健壮参数),
我现在想问的是有没有办法以注释掉的那一句(原生 Rails 方法)的办法解决,因为我不想用gem 'hashie-forbidden_attributes'
这个 gem,我现在的 pramas 为:
{
"number": "8000113111",
"unit": "中国电力局",
"name": "李某"
}
#5 楼 19wu 项目就很不错,还有其他简单点的 rails 项目吗?论坛、博客之类的,重点是中文,易部署,谢谢大家!
#7 楼 @martin91 因为没有实际开发经验,表述可能不对!哈哈,你尽可能站新人的角度再帮我看看。
我已经有一个 Web 程序和一个 Android 程序(以后可能还有 iOS 端、OS X 端,可以理解为已经有了一系列平台的程序),他们现在有一个待开发的功能,这个功能各个程序的需求基本一致,所以我现在就想再开发第三个程序(这里我接下来把他叫做服务,因为它不完整,主要给我的其他程序引用),这个服务如果用.net 开发,就是一个 WebService 服务。
现在我用 Rails 来开发这个服务,来简化我多个程序的开发工作。问题就是这个叫服务的东西的开发流程是跟普通 Rails 开发 Web 程序一样吗?还是要特殊对待,添加插件什么的?
#11 楼 @matsuijurina 嗯,是,而且更简单了!
#2 楼 @springwq @fighterleslie 回答的一样,OS X 环境用来开发,集中用 vagrant 管理比较方便,不是搭建生产环境
#1 楼 @qinfanpeng 谢谢提醒,已经做了一些修改
看完整个帖子评论,对这个招聘信息很有感觉,在校生,等我!