1

当用户注册时,他们开始创建他们的财务档案。我使用 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会预填充来自该用户现有财务模型的输入,并允许我更新字段。

但是,作为第一次注册的用户,我单击“下一步”,页面就会刷新。没有错误,也没有创建新的财务模型。(没关系将该模型与用户相关联。)

4

1 回答 1

1

原来我的步骤是错误的。

新用户将被重定向到流程的稍后步骤,这意味着用户在 Finance 对象上的必填字段丢失。

于 2014-04-05T03:35:38.403 回答