ruby-on-rails - Rails 解析表单输入

标签 ruby-on-rails

我正在使用一种表单将一些数据从 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/

相关文章:

ruby-on-rails - 没有路线匹配 [PUT]。如何正确走线?

javascript - rails 4 : append partial to hidden div upon AJAX call

ruby-on-rails - 事件管理员 : how to add sortable on nested model's json column

ruby-on-rails - rails : Iterate over collection within a Model's Class Method

ruby-on-rails - 如何预先加载嵌套的多态关联

javascript - rails : current_user is nil in AJAX response

ruby-on-rails - 注释命令不起作用,将其添加到我的 gemfile

ruby-on-rails - Ruby on Rails : how can I store additional data in the session for authlogic

ruby-on-rails - 在多列上使用acts_as_list

ruby-on-rails - Ruby:创建日期范围