1

これらは私のモデルです:

worker.rb:

class Worker < ActiveRecord::Base
  has_many :tasks
  attr_accessible :name
end

task.rb:

class Task < ActiveRecord::Base
  belongs_to :worker
  attr_accessible :done, :name
end

私は、views/workers/index.html.erbすべての労働者のリストと、それぞれの近くにある「タスクの表示」を持っています。このリンクは、ユーザーを次の場所に送信しますviews/tasks/index.html.erb

tasks_controller、私は持っています:

def index
    @task = Worker.where(:name => params[:worker_id])
    @worker_name = params[:worker_id]
    respond_to do |format|
        format.html # show.html.erb
        format.json { render json: @worker }
    end
end

そしてこれは私のviews/tasks/index.html.erb::

<center>Task of <%= @worker_name %></center><br>
<table>
   <% @task.each do |task| %>
      <tr>
        <td><%= task.name %></td>
        <td><%= task.task %></td>
        <td><%= task.done %></td>
      </tr>
    <% end %>
</table>

<td>各タスクのIDを追加したいと思います。何かのようなもの:

<td><%= task.id %></td>
4

3 に答える 3

2

私がこれを正しく理解している場合、次のようなものが必要だと思います。

controller.rb

@worker = Worker.find_by_name(params[:worker_id]) # might want to eager load tasks
@tasks  = @worker.tasks
# @worker_name = params[:worker_id] # don't need this anymore
...

view.html.erb

<center>Task of <%= @worker.name %></center>
<table>
  <% @tasks.each do |task| %>
  <tr>
    <td><%= task.id %></td>
    <td><%= task.name %></td>
...
于 2012-12-24T14:46:45.713 に答える
1

各タスクで id を表示したい場合は、多くの方法があります。 - ループ中に count 変数を取得して印刷することができます。

<center>Task of <%= @worker_name %></center><br>
<table>
   <% @task.each_with_index do |task, i| %>
      <tr>
        <td><%= i %></td>
        <td><%= task.name %></td>
        <td><%= task.task %></td>
        <td><%= task.done %></td>
      </tr>
    <% end %>
</table>

それがあなたの質問に答えてくれることを願っています

于 2012-12-24T14:31:01.120 に答える