【问题标题】:how to save user preferences如何保存用户偏好
【发布时间】:2012-07-01 17:39:15
【问题描述】:

我有一个应用,现在我需要保存用户的偏好。
我做了以下事情:

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

  embeds_one :setting
end

class Setting
  include Mongoid::Document
  include Mongoid::Timestamps

  belongs_to :user

  field :notify, type: Boolean
end

问题是:如何制作表单来保存用户的偏好?我完全不知道...
任何事情都值得赞赏:)

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 mongodb devise mongoid


    【解决方案1】:
    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
    

    【讨论】:

    • 我制作了这样的表格:gist.github.com/3029121 我看到的是undefined method 'settings_path' for #&lt;#&lt;Class:0x95b5cd0&gt;:0xa213234&gt;
    • 现在它说我需要create 方法...我该如何保存?
    • 因为您需要在控制器中定义该操作。
    • 我做了这样的事情:gist.github.com/3029468 怎么了?为什么我的重定向不起作用?为什么在保存或更新后,网址会变成 url/settings/4ff0b0bf4ccc4fa767000003
    • 用`respond_to do |format| 完成如果 current_user.save format.html { redirect_to '/dashboard',请注意:'Alteracoes salvas。' }结束`谢谢你:D
    猜你喜欢
    • 2019-01-17
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2012-11-28
    • 2010-11-07
    • 1970-01-01
    相关资源
    最近更新 更多