我正在使用一种表单将一些数据从 Controller 的一个部分传输到另一个部分(新创建),但我遇到了一些问题。当我在提交表单后尝试获取数据时,它只是给了我一个零值。
这是表单代码:
<%= 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 %>
这是 Controller 中的创建操作:
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 变量。任何帮助深表感谢!
最佳答案
您的创建方法似乎错误。试试这个。
def create
@rental_agreement = RentalAgreement.new(params[:rental_agreement])
@rental_agreement.save
end
关于ruby-on-rails - Rails 解析表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13962383/