0

フォーム (:pagesize) に、データベースにない追加の属性が 1 つあります。そのためのセッターもあります:

def pagesize= pagesize
  self.preferences["pagesize"] = pagesize
end

「update_attributes」メソッドでそのセッターを呼び出す必要があります。:pagesize 属性に最適なタイプは何ですか? attr_accessor、attr_writer...

4

2 に答える 2

1

その属性がモデルで定義されていない場合は、セッターを定義してから、必要なロジックを実行できます。

class YourModel < ActiveRecord::Base

  attr_writer :pagesize

  def pagesize=(val)
    self.size_of_page = val
  end

end

このようなもの。AR版を使っていると思って書きましたが、原理はDataMapperでもmongoidでも同じです。

于 2012-10-08T15:14:01.633 に答える
1

attr_accessor 変数で update_attributes を呼び出すことができますが、アクセス可能として定義する必要があります。また、変数を attr_writer として定義すると、バックエンドに追加されるため、setter メソッドを定義する必要はありません。チェックアウトRuby の attr_accessor、attr_reader、attr_writer を使用する理由 詳細については

于 2012-10-08T15:28:32.340 に答える