0

Project と Task の 2 つのモデルがあります。各プロジェクトには多くのタスクがあります。

プロジェクト インデックス ページにプロジェクトのリストがあります。

そして、ユーザーがプロジェクト名をクリックすると、プロジェクトのタスクのリストがプロジェクトリストとは別に表示されます

私はそのようなことを試みます。

アプリケーション.js

$(document).ready(function(){
  $('#projects').on('click', 'h2', function(){
    $('#tasks').append("<%= escape_javascript render(:file => 'tasks/index.html.erb') %>");
  });
});

application.js ファイルの拡張子を js.erb に変更するのは正しいですか?

アップデート

私の仕事の結果_project.html.erb

<%= link_to " #{project.title} tasks list", project_tasks_path(project), :remote => true %>

task_controller.rb

  def index
@project = Project.find(params[:project_id])    
@tasks = @project.tasks
respond_with @tasks

終わり

index.js.erb

$('#project-tasks').html("<%= j render :file => 'projects/tasks/_tasks', :locals => { :tasks => @tasks }  %>");

_tasks.html.erb

<%= render @tasks %>
4

3 に答える 3

0

これを行うには、レールを使用する必要があります。ajax呼び出しを使用し、js.erbファイルを作成してビューを更新します。このhttp://railscasts.com/episodes/205-unobtrusive-javascriptを参照してください。

于 2013-03-04T09:45:22.587 に答える
0

application.js は変更せずに、somethingelse.js.erb として保存するのがベストだと思います。

于 2013-03-04T09:17:21.793 に答える
0

アプリケーション js の名前を別の名前に変更することはできません。新しい js.erb ファイルを作成し、コードをその中に入れることをお勧めします

于 2013-03-04T09:28:29.913 に答える