Rails PUT没有创建新模型

时间:2014-04-05 03:10:58

标签: ruby-on-rails ruby ruby-on-rails-4 wicked-gem

当用户注册时,他们会开始创建他们的财务资料。我使用WickedWizard gem来收集他们的财务模型的信息。 finances_welcome 控制器如下所示:

  def show
    @finance = current_user.finance || current_user.build_finance
    render_wizard
  end

  def update
    @finance = current_user.finance || current_user.build_finance
    @finance.assign_attributes(finance_params)
    render_wizard @finance
  end

get_started.html.erb视图如下所示:

<%= form_for @finance, url: wizard_path, :method => :put do |f|  %>
    <div class="field">
      What's your <strong>name</strong>?<br>
      <%= f.text_field :name %>
    </div>
    <div class="field">
      What's your <strong>birthday</strong>?<br>
      <%= f.date_select :birthday %>
    </div>
    <div class="field">
      What's your <strong>zip code</strong>?<br>
      <%= f.number_field :zip %>
    </div>
    <div class="field">
      What's in between <strong>your legs?</strong><br>
      <%= f.select(:gender, Finance::Gender) %>
    </div>
<%= f.submit "Next", class: "btn btn-primary btn-lg" %>

作为现有用户点击/ finances_welcome / get_started预填充该用户现有财务模型的输入,并允许我更新字段。

但是,作为首次注册的用户,我点击&#34;下一步&#34;并且页面只是刷新。没有错误,新的财务模型未创建。 (不要介意将该模型与用户关联。)

1 个答案:

答案 0 :(得分:1)

原来我的步骤错了。

新用户被重定向到此过程的后续步骤,这意味着缺少用户在Finance对象上的必填字段。