我有一个用户模式谁has_one :preference
,但我想加盟形式更新用户和形式来更新自己的偏好,所以在用户的体形,我说:Rails的:改变用户偏好的形式
<% if [email protected]_record? %>
<div class="field">
<%= label_tag 'user_preference_quote_type', 'Type de citations' %><br />
<%= text_field_tag 'user_preference_quote_type', @user.preference.quote_type %>
</div>
<div class="field">
<%= label_tag 'user_preference_locale', 'Langage' %><br />
<%= text_field_tag 'user_preference_locale', @user.preference.locale %>
</div>
<% end %>
而且在我的控制器:
def update
@user = User.find(params[:id])
@user.preference.quote_type = params[:user_preference_quote_type]
@user.preference.locale = params[:user_preference_locale]
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to(@user, :notice => t('c.users.update')) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
但偏好不会改变,我该怎么办呢?有没有更好的方法来做到这一点?
谢谢你,我肯定有一些美丽的东西这个Rails中,但无法找到它:(。 – Dorian