0

我想在会话中的页面上更新模型用户的属性“:what_cause”。用户单击 3 个单选按钮之一,相应的值应传输到更新它的方法。我写了以下代码-

<%= form_for :user do |f| %>
    <label>Pratham</label>
    <%= f.radio_button :what_cause, "pratham" %>
    <label>Kali</label>
    <%= f.radio_button :what_cause, "kali" %>
<label>Akshaya</label>
    <%= f.radio_button :what_cause, "akshaya" %>
    <%= f.submit "Save", :controller => "users_controller", :action => "change_cause", :method => "put" %>
<% end %>

这是 users_controller.rb 的 change_cause 方法中的更新代码-

def change_cause
if params[:radio_button] == "pratham"
@user.update_attribute(:what_cause, "pratham")
end
if params[:radio_button] == "kali"
    @user.update_attribute(:what_cause, "kali")
end
if params[:radio_button] == "akshaya"
    @user.update_attribute(:what_cause, "akshaya")
end
end

但它不起作用。请赐教。我是RAILS的新手!!!

4

1 回答 1

0
def change_cause
  @user.update_attribute(:what_cause, params[:user][:what_cause])
end
于 2013-05-04T20:45:05.380 回答