validates
听说,slim 速度比 haml 快。
OpenERP 乃神器
# config/initializers/rails_admin.rb
RailsAdmin.config do |config|
......
config.current_user_method { current_member }
config.authenticate_with do
authenticate_member!
end
config.authorize_with :cancan, Abilities::MemberAbility
......
end
@jiang_plus 在 rails_admin.rb 里面设置,见设置文件注视。
@shooter 如果加上分,0.50 0.20 0.10 0.05 0.02 0.01,还有各零钱种类的剩余数量,应该会更好玩。
@luikore 漂亮
这个解很好啊,就是可以写的更短点。如果 hr 还不满意,你用二进制移位来试试看。
^_^,我最近迷上了带着狗进山徒步。
我觉得我能理解 CEO 的逻辑,关于上一个公司的看法,可在某一程度上视作情商题,实话实说绝对是个优点,但如何委婉的表达就是学问了。在任何公司都讲究团队合作,同事以及各部门间的矛盾无可避免。在这种情况下,一定的表达技巧对营造良好的工作氛围还是很重要的。
这个薪水伦敦招不到人吗?
这个只是学术性的方法探讨吧。就好比,T 台上的各种诡异服装,没人会穿到马路上去,但他们的想法对之后的应用设计是有导向性的。
@zealinux jquery chained select.
@zealinux 签到只能说明他这个时刻在电脑前,不能保证在工作。看每日的 GIT COMMIT 管用些。
@zealinux Skype 和 JIRA 足够了,对小团队工具太多反而影响效率
想横渡多瑙,游到一半脚抽筋了的人飘过。。。
@zealinux 项目初始我觉得必要不大,scope 就足够了,之后的话也许可以抽出来做一个 service object http://railscasts.com/episodes/398-service-objects
@QueXuQ 传变量到 js 的 gem,特别适合重构现有页面到 jquey 小应用或 jquey 植入,当然 data attribute 也很方便,但这个能起到一定程度的全页变量。
我倾向如 Rei 所言,通过 validates 的 if 选项传入 role 属性的方式。
此外有一个 gem 是做 Model-level authorization 的 https://github.com/stffn/declarative_authorization
个人不太喜欢把权限过滤放在 model 里面 不过,如果你的程序有很多类似的需求,可以考虑下的。
我一般如果是单页 app 就用 angular,零星的就 ujs+gon 了。angualar 和 ember 我觉得选一个就够用了,没必要两个都掌握。
@rimer 我好像有点明白你的需求了,你需要直接通过 name 进行检索。如果是 User.where(first_name: xxx).where(last_name: xxx) 呢 如果需要让用户直接通过输入 name 搜索的话,也许可以通过正则或者其他什么的做分割。
@zealinux ujs 应该是个简单方便方法
modal
貌似没听说类似的功能,不过通过 rails 自己的 callback 可以很轻松的实现。
helper + #{}
@Peter 我有兴趣,如何联络。
把子条件在 Invoice 里面写成若干条 scope?
@sylan401 https://github.com/apotonick/reform这是另外一种可能,不过我未曾用他做过批处理。
@sylan401 我完全不是这个意思。我的建议是创建一个类专门负责这个表单的处理。主要理由是提供了表单验证和校正输入的可能,我觉得像成绩录入这类的操作,难免会遇到录入错误的问题,系统应该在做保存前对输入内容做验证。
class UserCoursesForm
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
// user_courses为array或hash
attr_accessor :user_courses
// 自定义验证规则
validate :custom_validate
// rails验证规则
validates
// 构建规则
def initialize(option)
@user_courses = ...
end
def persisted?
false
end
def submit(params)
// mass assignment
@user_courses = ...
if valid?
// 保存逻辑,例如
@user_courses.each do |user_course|
user_course.save!
end
true
else
false
end
end
def custom_validate
...
end
end
然后就可以通过 form_for 或 simple_form_for 做对象表单构建。 在 controller 中也可以做常规写法
// or update
def create
@user_courses_form = UserCoursesForm.new(...)
if @user_courses_form.submit(params[:user_courses_form])
// 其他处理
...
redirect_to ...
else
// or edit
render "new"
end
end