User
has_one UserProfile
、およびUserProfile
という列がありますmessage
message
ここでは、ページをロードせずにフィールドの入力データを保存したいと考えています。
Viewを見ると、ボタンmessage_update
を押すとバックグラウンドでアクセスしUpdate
ます。Controllerで、入力データを受け取り、テーブルの列に保存するに
はどうすればよいですか?message
user_profile
コントローラーでコーディングする方法がわかりません:(
私はほとんどそこにいると思います:)誰かがそれをコーディングする方法を教えてもらえますか? ありがとう!
コントローラ
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"):