• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Rails解析表单输入

ruby-on-rails 来源:camdroid 4次浏览

我正在使用表单将一些数据从控制器的一部分传输到另一部分(新创建),但我遇到了一些麻烦。当我在提交表单后尝试获取数据时,它只是给了我一个零值。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变量。任何帮助深表感谢!

===========解决方案如下:

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

<code class="prettyprint-override">def create 
    @rental_agreement = RentalAgreement.new(params[:rental_agreement]) 
    @rental_agreement.save 
end 
</code>

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)