我正在开发一个rails项目。 在那里我有一个Mark作为完整按钮,我只想切换它的值并在每次有人点击它时将新值保存在数据库中。
这是我的代码,但它无效。
/ modal.html.erb /
<div class="col-md-5 col-xs-5">
<%=form_for subtask,:method => :put,:remote => :true do |f| %>
<%=f.hidden_field :name%>
<%=f.hidden_field :description%>
<%=f.hidden_field :start_date%>
<%=f.hidden_field :end_date%>
<%=f.hidden_field :task_id%>
<%=f.hidden_field :complete%>
<%=f.submit 'Mark As Complete',class:'btn btn-success'%>
<%end%>
</div>
/ 子任务控制器 /
def update
@subtask=Subtask.find(params[:id])
#@task=@subtask.task
#@subtask.description=params[:subtask][:description]
respond_to do |format|
params[:subtask][:complete]=@subtask.toggle(params[:subtask][:complete])
if @subtask.update_attributes(params[:subtask])
format.html{redirect_to @project}
format.js
else
render new
end
end
end
有人可以帮助我实现此功能。
这是我的解决方案
<div class="col-md-5 col-xs-5">
<%=form_for subtask,:method => :put,:remote => :true do |f| %>
<%=f.hidden_field :name%>
<%=f.hidden_field :description%>
<%=f.hidden_field :start_date%>
<%=f.hidden_field :end_date%>
<%=f.hidden_field :task_id%>
<%=f.hidden_field :complete,:value=>subtask.toggle(:complete).complete%>
<%=f.submit 'Mark As Complete',class:'btn btn-success'%>
<%end%>
</div>