2
我有一個用戶表,用戶創建後我想使用下面的代碼編輯一個屬性。這是我的用戶編輯觀點:更新用戶的單個屬性
<h1>Please select below</h1>
<%= form_for @user do |f| %>
<div class="form-group">
<%= f.label :extra_activity %>
<%= f.select(:extra_activity, [['P_Act', 1],['Ph_Act', 2], ['C_Act', 3]], class: 'form-control', required: true) %></br>
</div>
<%= f.submit 'Submit', class: 'btn btn-primary btn-lg' %>
<% end %>
在我的用戶控制器我有編輯和更新了以下方法:
def edit
@user = User.find(params[:id])
@users = User.all
@user_id = params[:user_id]
end
def update
@user = User.find(params[:id])
if @user.update_attributes(user_params)
redirect_to new_user_activity_path(@user)
else
redirect_to home_path
end
end
user_params
列舉如下:
def user_params
params.require(:user).permit(:first_name, :surname, :previous_award, :chosen_award, :email, :password, :password_confirmation, :extra_activity)
end
當我最初創建用戶,:extra_activity
設置爲0.當用戶單擊編輯表單上的提交時,什麼也沒有發生,用戶被重定向到home_path
。我只需要將用戶的:extra_activity
屬性更新爲他們在表單中選擇的任何內容。任何人都可以在這裏提出我要去的地方有錯嗎?不知道如何保存所選的號碼,作爲更新值:extra_activity
UPDATE:
class User < ActiveRecord::Base
has_many :activities, dependent: :destroy
has_many :weeks, dependent: :destroy
authenticates_with_sorcery!
validates :password, length: { minimum: 3 }
validates :password, confirmation: true
validates :email, uniqueness: true, email_format: { message: 'has invalid format' }
end
你可以發佈正在通過的參數哈希? – toddmetheny
即時通訊不知道你是什麼意思的params哈希 - 我在哪裏可以找到這個? – Jarvey
在更新操作中執行:p params.inspect 獲取從日誌中返回的任何內容。 – toddmetheny