【问题标题】:checkbox to update attribute更新属性的复选框
【发布时间】:2011-01-27 04:48:21
【问题描述】:

[更新了一点] 我有一个具有 :completed 布尔属性的任务模型。如果我点击它,我希望它执行“完成”方法。主要问题是我在列表中显示了一系列复选框,第一个复选框被忽略后的后续复选框。永远不会为给定的任务/复选框组合调用该方法。

我认为有这段代码:

<% current_user.tasks.each do |t|%>
      <% if t.completed == false %>
          <%= check_box_tag :completed, true, checked = false   %>
          <%= observe_field :completed, :url => { :controller => 'tasks', :action => :finish , :id => t.id },
              :frequency => 0.25,
              :update => :completed,
              :with => true
          %>

我的完成方法如下所示:

def finish
      @task = Task.find(params[:id])
      new = {:completed => true}
      @task.update_attributes(new)
      render :update do |page|
      page.replace_html "taskListing", :partial => 'home/task_listing'
 end

【问题讨论】:

  • 您是在寻找发布到完成操作的 javascript,还是遇到其他问题?
  • 我在上面添加了更多信息。基本上,如果我有多个复选框(在 do 循环中创建)......第一个复选框之后的后续复选框将被忽略。

标签: ruby-on-rails ajax checkbox


【解决方案1】:

没关系,我想通了:

这里是:

 <% current_user.tasks.each do |t|%>
          <% if t.completed == false %>
              <%= check_box_tag t.id, true, checked = false   %>
              <%= observe_field t.id, :url => { :controller => 'tasks', :action => :finish , :id => t.id },
                  :frequency => 0.25,
                  :update => :completed,
                  :with => true
              %>
          <%= link_to t.title , t %> - <%= t.due_date.strftime("%B %d, %Y %X %p")%> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 2014-06-16
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多