消息表示您尚未爲您的新用戶記錄設置username
字段。有一種方法可以解決它。在您的app/views/users/new.html.erb
文件中,您需要添加一個username
字段。因此,它看起來像下面這樣:
<h1>Sign Up</h1>
<%= form_for @user do |f| %>
<% if @user.errors.any? %>
<div class="error_messages">
<h2>Form is invalid</h2>
<ul>
<% for message in @user.errors.full_messages %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :username %>
<%= f.text_field :username %>
</div>
<div class="field">
<%= f.label :email %>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %>
</div>
<div class="actions"><%= f.submit %></div>
<% end %>
此外,您還需要修復參數過濾你的app/controllers/users_controller.rb
。此更新您的user_params
方法:
def user_params
params.require(:user).permit(:username, :email, :password, :password_confirmation, :remember_me)
end
這就是它!它應該現在工作。
發佈您的應用程序的相關代碼 –
歡迎來到Stack Overflow。爲了最好地解決您的問題,您需要發佈一個「好問題」。請檢查這裏的指導:http://stackoverflow.com/help/on-topic。通過在生成此SQL的代碼周圍發佈代碼,可以改進您的問題。您還可能想要檢查:爲什麼您要在不包含用戶名的情況下將用戶的值插入到用戶表中? – GreenAsJade