我想为特定模型对象“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
哈希访问params
和User
:virtual_field_one = params[:virtual_field_one]