我正在使用表单将一些数据从控制器的一部分传输到另一部分(新的创建),但我遇到了一些问题。当我在提交表单后尝试获取数据时,它只给我一个零值。
这是表单代码:
<%= f.hidden_field :owner_id, :value => @tool.user_id %>
<%= f.hidden_field :tool_id, :value => @tool.id %>
<%= f.hidden_field :borrower_id, :value => current_user.id %>
这是控制器中的创建操作:
def create
render text: params[:rental_agreement].inspect
@rental_agreement = RentalAgreement.create
@rental_agreement.owner_id = params[:owner_id]
# render text: @rental_agreement.inspect
end
当我点击表单上的“提交”按钮时,我看到了:
{"owner_id"=>"3", "tool_id"=>"1", "borrower_id"=>"4"}
没关系,但是当我更改哪个检查呈现时(注释掉顶行,取消注释底部),它显示的全部是:
#
如果我在这个对象上查看Rails控制台,其中的所有字段都是nil(除了id和created_at字段)。
我只想弄清楚如何将表单(owner_id,tool_id和borrower_id)中的变量分配给rental_agreement变量。任何帮助深表感谢!
答案 0 :(得分:2)
您的创建方法似乎有误。试试这个。
def create
@rental_agreement = RentalAgreement.new(params[:rental_agreement])
@rental_agreement.save
end