User
has_one UserProfile
,并且UserProfile
有一个名为message
在这里,我想在message
不加载任何页面的情况下保存字段的输入数据。
如您所见,当我按下按钮时,它会message_update
通过放入后台访问。
在Controller中,如何接收输入数据,并将其保存到表格的列中?Update
message
user_profile
我不知道如何在Controller中编写代码:(
我想我快到了:) 谁能告诉我如何编码?谢谢!
控制器
def message_update
current_user.save
if request.xhr? # ajax request
respond_to do |format|
format.js {render :action=>"message_update.js"}
end
else
redirect_to users_path
end
end
看法
<%= form_for(current_user, :url => {:controller => "users", :action => "message_update" }, :remote => true, :class => 'form-search') do |f| %>
<%= f.fields_for :user_profile do |profile_form| %>
<div class="input-append">
<%= profile_form.text_field :message, :class => 'span6' %>
<button type="submit" class="btn">Update</button>
</div>
<% end %>
<% end %>
路线
get 'message_update' => 'users#message_update', :via => :put
现在,这是路由错误:(
ActionController::RoutingError (No route matches [PUT] "/message_update"):