私は基本的に、WordPress の「メディア」セクションが機能するのと同様に、Rails アプリ用のファイル マネージャーを作成しようとしています。Asset
私は現在、ユーザーがさまざまな画像をアップロードする場所と呼ばれるモデルを持っています。他のさまざまなモデルでは、単なるテキスト フィールドである画像用のフィールドがあります。ユーザーがテキスト フィールドをクリックすると、モーダル ウィンドウに「アセット マネージャー」が開き、すべての画像が表示されることを期待していますAsset
。ユーザーがいずれかの画像をクリックすると、モーダルが閉じ、選択した画像の URL がテキスト フィールドに入力されます。
Events
私が話していたテキストフィールドを含むというモデルがあります。アクションでは、new
js に応答します。モーダル ウィンドウ内のすべてのアセットを含むパーシャルを読み込みます。期待どおりです。私の唯一の問題は、$.getScript
呼び出しを介してこれを行っており、追加の JavaScript を呼び出して画像の URL をテキスト フィールドにロードできないことです。オブジェクトがまだ存在しないためだと思います。とにかく、コードに:
コントローラ
def new
@event = Event.new
@asset = Asset.all
end
respond_to do |f|
f.html
f.js
end
new.js
$('.acontainer').html('<%= render @asset %>');
page.js
//when a user clicks the image field, show the asset partial
$('.image-field').click(function() {
$.getScript('edit.js');
});
// when a user clicks an image, add it's src to the image field <-- does nothing
$('.actonainer img').click(function() {
$('.image-field').val($(this).attr('src'));
});
特に誰かがこれを行うためのより良い方法を知っている場合は、どんなアイデアでも大歓迎です。:-)