2012-12-19 66 views
2

我正在使用表单将一些数据从控制器的一部分传输到另一部分(新创建),但我遇到了一些麻烦。当我在提交表单后尝试获取数据时,它只是给了我一个零值。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的控制台看这个对象,都在它的领域是零(除了ID和created_at字段)。

我只是想弄清楚如何将变量从表单(owner_id,tool_id和borrower_id)分配到rental_agreement变量。任何帮助深表感谢!

回答

2

你的创建方法看起来不对。尝试这个。

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

工作完美,谢谢! – camdroid