如何在rails中自定义强参数

时间:2016-03-01 07:17:05

标签: ruby-on-rails

我是铁杆新手,我遇到了问题。 当我使用强参数时:

params.require(:project).permit(:project_name, :real_time)

我想用它来更新项目:

@project.update_attributes(user_project_params)

但在此之前,我想更改

的值
:real_time
ex: :realtime += 2

请告诉我该怎么做?

2 个答案:

答案 0 :(得分:1)

在致电 user_project_params 之前,请先更新参数

  params[:project][:real_time] += 2

否则使用callbacks

答案 1 :(得分:1)

对模型对象的任何预定义修改始终在模型中完成。

您可以在模型中编写方法并使用回调调用

@SuppressWarnings("restriction")
public class MyWorkbenchAdvisor extends WorkbenchAdvisor {
  ...      
  @Override
  public void initialize(IWorkbenchConfigurer conf) {
    ...
    try {
      // wizard icon
      WorkbenchImages.declareImage(
              IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORT_WIZ,
              <get image descriptor>, true);  
      // folder icon                  
      WorkbenchImages.declareImage(
              ISharedImages.IMG_OBJ_FOLDER,
              <get image descriptor>, true);
    }...