0

我有一个名为任务的表的索引视图。在每一行上,我希望用户能够单击编辑或添加附件(添加附件)。

这是代码:

  <% @workorder.tasks.each do |task| %>
  <tr>
        <td><%= task.position %></td>
        <td><strong><%= link_to task.taskname, task_path(task) %></strong></td>
        <td>
          <a rel="popover" data-content="<%= task.longdesc %>" data-original-title="Description:"><img src='/images/find.ico' width='20' height='20'></a>
        </td>
        <td><%= task.employee.try(:employee_full_name) %></td>
        <td><%= task.taskstatus.try(:statuscode) %></td>
        <td><%= task.attachments.count %></td>
        <td>
          <a href="#" class="answer" data-type="select" data-pk="1" data-resource="task" data-source="/ratings" data-name="rating_id" data-url="/tasks/<%= task.id %>" data-original-title="Select Rating">
            <% if task.rating_id != nil %>
                <%= textarea_format(task.rating.ratingname) %>
            <% end %>
          </a>
        </td>
        <% if current_user.admin == true %>
            <td><%= link_to 'Edit', edit_task_path(task), :class => 'btn btn-mini btn-success' %></td>
            <td><%= link_to 'Add Attach', new_attachment_path, :class => 'btn btn-mini btn-primary', :onclick =>  flash[:task_id] = task.id %></td>
        <% end %>
  </tr>

添加附件链接到用于添加附件的页面。为了让它正确地附加到特定的任务上,我使用 flash 来继承 task.id。

但是,onclick 总是传递最后一个 task.id 而不是包含该行的 task.id 的每个按钮。

知道我怎么能做到这一点吗?

谢谢!!

4

1 回答 1

1

我认为您的“添加附件”链接如下所示:

  <td>
    <%= link_to 'Add Attach', 
        new_attachment_path(task.id),
       :class => 'btn btn-mini btn-primary'
    %> 
  </td>

这假设您有一个类似于以下内容的路由条目:

match "tasks/:id/add_attach" => "tasks#add_attach" , :as=>"new_attachment"

然后在你的 tasks_controller.rb 中:

def add_attach
  @task = Task.find(params[:id])
  # I don't know what goes here,  not enough code posted
  @task.save
end
于 2013-04-07T00:37:59.597 回答