Rails アプリケーション用に Friendly_id と ActiveScaffold をインストールしました。
すべてのモデルに一意の名前フィールドがあるわけではないため、それを機能させるにはSlugged Modelを使用する必要があります。Friendly_id は問題なく機能します。フレンドリな URL があり、フレンドリ ID を使用してオブジェクトをロードできます。
しかし、ActiveScaffold で新しいオブジェクトを作成しようとすると、次のエラー メッセージが表示されます。
ActiveScaffold::ReverseAssociationRequired (関連付けスラッグ: 親レコードが新しく、子レコードが親の存在を検証する :has_one および :has_many をサポートするために、ActiveScaffold は逆関連付け (belongs_to) を必要とします)。
もちろんbelongs_to
、その側で関連付けを作成することはできません。これは、friendly_id
モジュールによって作成され、スラッグ方式で動作するすべてのモデルがそこに含まれている必要があるためです。
モデルは次のようになります。
class FooBar < ActiveRecord::Base
has_friendly_id :name, :use_slug => true, :approximate_ascii => true
end
私の中でApplicationController
:
class Admin::FooBarsController < Admin::ApplicationController
active_scaffold :foo_bar do |config|
config.list.columns = [ :id, :name ])
config.update.columns = [ :name ]
config.create.columns = config.update.columns
end
end
これを機能させる方法はありますか?
バージョン: 3.2.0
Friendly_id 、rails-2.3
Git ブランチの最新の ActiveScaffold。
更新: プロダクション モードでは競合しないようです。