ユーザーが保存したミッションをシラバスの投稿に「インポート」できるようにしようとしています。シラバスには多くのミッションがあり、シラバス フォームはネストされたフォームであり、ユーザーは「ミッションを追加」できます。これにより、新しいミッション テキスト ボックスが追加されます。
ミッションを「インポート」するとき、javascript で
1.「ミッションを追加」リンク (ネストされたフォームを追加) をクリックします
。2. 「インポートされたミッション」の値を ckeditor テキストボックスに入力します。
_IMPORT_FORM.HTML.ERB
<%= form_tag(import_missions_path, :method => :post, :id => "import-js" ) do |f| %>
<ul>
<% current_user.folders.find_by_order(1).missions.each do |mission| %>
<li> <%= check_box_tag "mission_ids[]", mission.id %>
<%= mission.id.to_s + ". " + mission.title %> </li>
<% end %>
</ul>
<%= submit_tag "Import ", :class => 'btn btn-primary' %>
<% end %>
これは SYLLABUSES#IMPORT に移動します
def import
@missions_hash = []
#loop through each mission id from :missions_id
params[:mission_ids].each do |id|
@missions_hash << Mission.find(id)
end
respond_to do |format|
format.html { redirect_to edit_syllabus_path(@syllabus), notice: "imported" }
format.js { render 'folders/import.js' }
end
end
IMPORT.JS.ERB ファイルをレンダリングし、@missions_hash に渡します。以下のコードはおそらく間違っているので、ここを修正する必要があります。
インポート.JS.ERB
//loop for each mission passed in
<% @mission_hash.each do |mission| %>
//click add missions
$('#add-missions-button').trigger('click');
//pass in mission.title & mission.content to form textbox value
<% end %>
この Javascript.erb ファイルに Ruby パラメーターを渡す正しい構文は何ですか? また、インポートされたミッションの「タイトル」と「コンテンツ」を、新しく追加されたミッション フォーム ボックスにコピーしたいと考えています。
<%= f.text_field :title, :class =>'row span6' %>
<%= f.cktext_area :content, :toolbar => 'MyToolbar', :class => 'row span6', :rows => '5', :placeholder => "What is the first step a learner should do? (e.g. Watch an intro video, read certain article)" %>
これらのテキストボックスの値にコピーして、ユーザーがインポート後に編集できるようにするにはどうすればよいですか?
この質問の構成が悪いことは承知していますが、背景全体を説明せずにできるだけ簡単にしようとしました。まだまだ初心者ですのでよろしくお願いします。