我想为特定模型对象“user”的rails管理“new”视图添加其他字段。这些字段不是模型本身的属性,而是我希望用户能够提交信息以计算另一个字段的字段。
这可能吗?

最佳答案

我并不完全熟悉rails管理,但是您应该能够使用rails的虚拟属性机制得到您想要的东西。
user.rb模型文件中,需要添加attr_accessor行,列出要分配给非模型字段的符号,如下所示:

class User < ActiveRecord::Base

  attr_accessor :virtual_field_one, :virtual_field_two

  # Remainder of your code

end

可以将字段添加到填充这些值的相应视图中:
<%= f.text_field :virtual_field_one %>

然后可以将这些属性添加到users_controller.rb的强参数方法中,如下所示:
class ActivitiesController < ApplicationController

  # other code

  def user_params
    params.require(:activity).permit(:mode_field_one, :mode_field_two, :virtual_field_one, :virtual_field_two)
  end

  # other code

end

现在您应该可以像virtual_field_one模型中的任何其他字段一样,从virtual_field_two哈希访问paramsUser
virtual_field_one = params[:virtual_field_one]

10-05 20:31
查看更多