Ruby on rails 如何保存用户首选项

Ruby on rails 如何保存用户首选项,ruby-on-rails,ruby-on-rails-3,mongodb,devise,mongoid,Ruby On Rails,Ruby On Rails 3,Mongodb,Devise,Mongoid,我有一个应用程序,现在,我需要保存用户的首选项。 我已经做了以下工作: class User include Mongoid::Document include Mongoid::Timestamps embeds_one :setting end 及 问题是:如何制作表单来保存用户的首选项?我完全不知道… 任何东西都很感激:) 还要创建控制器 class SettingsController < ApplicationController def create

我有一个应用程序,现在,我需要保存用户的首选项。
我已经做了以下工作:

class User
  include Mongoid::Document
  include Mongoid::Timestamps

  embeds_one :setting
end

问题是:如何制作表单来保存用户的首选项?我完全不知道…
任何东西都很感激:)

还要创建控制器

class SettingsController < ApplicationController
  def create
    settings = Settings.new params[:settings]
    if settings.save
      flash[:notice] = 'Settings saved'
    else
      flash[:error] = 'Settings could not be saved'
    end
    redirect_to :back
  end

  def update
    settings = Settings.find params[:id]
    if settings.update_attributes params[:settings]
      flash[:notice] = 'Settings saved'
    else
      flash[:error] = 'Settings could not be saved'
    end
    redirect_to :back
  end
end
类设置控制器
我制作了一个这样的表单:我看到了#的
未定义方法“settings\u path”
现在它说我需要
create
方法…我如何保存它?因为你需要在控制器中定义该操作。我做了这样的事情:怎么了?为什么我的重定向不起作用?为什么,在保存或更新后,url会变成类似于“respond_to do | format | if current_user.save format.html{重定向到“/dashboard”,注意:“Alteracoes salvas.”结束`谢谢:D
form_for current_user.settings || current_user.build_settings
class SettingsController < ApplicationController
  def create
    settings = Settings.new params[:settings]
    if settings.save
      flash[:notice] = 'Settings saved'
    else
      flash[:error] = 'Settings could not be saved'
    end
    redirect_to :back
  end

  def update
    settings = Settings.find params[:id]
    if settings.update_attributes params[:settings]
      flash[:notice] = 'Settings saved'
    else
      flash[:error] = 'Settings could not be saved'
    end
    redirect_to :back
  end
end