Rails Parse表单输入

时间:2012-12-19 22:34:22

标签: ruby-on-rails

我正在使用表单将一些数据从控制器的一部分传输到另一部分(新的创建),但我遇到了一些问题。当我在提交表单后尝试获取数据时,它只给我一个零值。

这是表单代码:

<%= 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变量。任何帮助深表感谢!

1 个答案:

答案 0 :(得分:2)

您的创建方法似乎有误。试试这个。

def create
  @rental_agreement = RentalAgreement.new(params[:rental_agreement])
  @rental_agreement.save
end