0
所以<a class="buttonDone">
行,我有一个id="<%= dom_id(item) %>"
。 show.html.erb基本上是if-else condition
的片段,因为某个项目的日期大于今天的日期,或者等于今天的日期,或者小于今天的日期。从Rails dom_id方法获取HTML类名?
的问题是,在我的update.js.erb,我想,以确保一旦达到一定的条件,我想补充一定的CSS类(即.complete
)至<a class="notDue">
或overDue
或dueToday
一行。
我知道我必须使用.addClass(.complete)
方法来jQuery。因此,如果不修改所有<a class="notDue" or "overDue" or "dueToday">
,我如何确保正确的类正在被修改,而不是其他的?
show.html.erb
<% if item.due_date > Date.today %>
<% if item.done? %>
<a class="complete">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %><br/> <br/>
</a>
<% else %>
<div class="oneLine">
<a class="notDue">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %>
</a>
<a class="buttonDone" id="<%= dom_id(item) %>">
<%= form_for([@todolist, item], remote: true, method: :put) do |f| %>
<%= f.hidden_field :done, value: '1' %>
<%= f.submit 'Mark Item as Done' %>
<% end %>
</a>
<br/><br/>
</div>
<% end %>
<% elsif item.due_date == Date.today %>
<% if item.done? %>
<a class="complete">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %><br/> <br/>
</a>
<% else %>
<div class="oneLine">
<a class="dueToday">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %>
</a>
<a class="buttonDone" id="<%= dom_id(item) %>">
<%= form_for([@todolist, item], remote: true, method: :put) do |f| %>
<%= f.hidden_field :done, value: '1' %>
<%= f.submit 'Mark Item as Done' %>
<% end %>
</a>
<br/><br/>
</div>
<% end %>
<% else %>
<% if item.done? %>
<a class="complete">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %><br/> <br/>
</a>
<% else %>
<div class="oneLine">
<a class="overdue">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %>
</a>
<a class="buttonDone" id="<%= dom_id(item) %>">
<%= form_for([@todolist, item], remote: true, method: :put) do |f| %>
<%= f.hidden_field :done, value: '1' %>
<%= f.submit 'Mark Item as Done' %>
<% end %>
</a>
<br/><br/>
</div>
<% end %>
<% end %>
update.js.erb
$("#<%= dom_id(@todoitem) %>").hide();
alert("<%= dom_id(@todoitem) %>");
applications.css
.complete {
border-radius: 10px;
background: green;
padding: 3px;
width: 30px;
height: 30px;
color: white;
}
我必须说我不完全了解你的问题(你可以尝试重新表达)?而且,作为旁注,我在模板中看到很多重复,我认为你应该熟悉[view partials](http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials)。 – BoraMa
“@ todoitem”和“item”变量中有什么可以解释这两者之间的关系是什么 –