在我的索引页面上,我显示了一个"任务列表"
我在顶部有一个按钮"添加任务"使用简单形式的部分模态。这很好。
在我的任务列表中,我为每个任务显示编辑和删除链接。删除工作正常,但编辑并没有真正起作用,因为它使用我在控制器中设置的@task = Task.new。所以"编辑"莫代尔实际上是一个新的"模态
理想情况下,我希望@task等于" task"在我的每个迭代器中
我一直在尝试许多不同的方法来解决这个问题,主要是使用params:
我的编辑链接是:
<div class="row top-buffer">
<div class="col-md-10 col-md-offset-1 products">
<ul class="nav nav-pills cat-nav">
<c:forEach items="${catList}" var="category">
<li role="presentation" id="${category.id}">
<a href="/show-category?id=${category.id}" >${category.name}</a>
<ul class="dropdownn">
<c:forEach items="${category.childCategories}" var="childCat">
<li><a href="/show-category?id=${childCat.id}">${childCat.name}</a> </li>
</c:forEach>
</ul>
</li>
</c:forEach>
<li role="presentation" class="pull-right" id="0"><a href="/show-category?id=0">All</a> </li>
</ul>
</div>
</div>
在我的控制器中,我的索引方法如下:
<% @tasks.each do |task| %>
...
<%= link_to 'Edit', "?task_id=#{task.id}", { 'data-toggle' => 'modal', 'data-target' => '#myModal' } %>
<% end %>
然而,这也不起作用,并且@task似乎一劳永逸地设置,它永远不会进入params的条件。
这可行吗?对于这类问题,轨道的最佳做法是什么?
感谢您的回答!
答案 0 :(得分:1)
您可以将task_id作为数据参数传递
视图
<%= link_to 'Edit', "", { 'data-task-id' => task.id, 'data-toggle' => 'modal', 'data-target' => '#myModal' } %>
控制器
if params.has_key?(:data-task-id)