Ruby on rails 3 查找器方法相关控制器

Ruby on rails 3 查找器方法相关控制器,ruby-on-rails-3,Ruby On Rails 3,我有两个控制器,命令和任务-每个命令有许多任务 在我的订单显示视图中,我列出了订单的所有相关任务 我的问题是我想限制输出-例如,只列出状态为1的任务 在我的订单控制器中,我尝试了以下方法: @tasks = Task.find(:all, :conditions => [:status => '1']) <% @task.tasks.each do |task| %> <li> <%= task.title %> <%= ta

我有两个控制器,命令和任务-每个命令有许多任务

在我的订单显示视图中,我列出了订单的所有相关任务

我的问题是我想限制输出-例如,只列出状态为1的任务

在我的订单控制器中,我尝试了以下方法:

 @tasks = Task.find(:all, :conditions => [:status => '1'])
<% @task.tasks.each do |task| %>
  <li>
    <%= task.title %> <%= task.dueddate %> 
  </li>
<% end %>
但我有一个错误:

undefined method `%' for {:status=>"1"}:Hash
我也不知道怎么称呼这个。在我的订单显示视图中,我尝试了以下方法:

 @tasks = Task.find(:all, :conditions => [:status => '1'])
<% @task.tasks.each do |task| %>
  <li>
    <%= task.title %> <%= task.dueddate %> 
  </li>
<% end %>


  • 你能帮助一个垂头丧气的新手吗:)

    你真的需要检查rails 3中的查询接口

    Btwn您的解决方案是:-

     @tasks = Task.where(['status = ? ', 0])
    

    您确实需要检查Rails3中的查询接口

    Btwn您的解决方案是:-

     @tasks = Task.where(['status = ? ', 0])
    

    这就是我的方法

    任务模型

    def Task
        belongs_to :order
    
        scope :status, lambda { |stat| where(:status => stat) }
    end
    
    订单控制器

    def show
        @order = Order.find(params[:id])
        @starting_tasks = @order.tasks.status(1).all
    end
    
    View/orders/show.html.erb

    <%= @starting_tasks.each do |task| %>
        <li><%= task.title %> <%= task.dueddate %></li>
    <% end %>
    
    
    

  • 这就是我的方法

    任务模型

    def Task
        belongs_to :order
    
        scope :status, lambda { |stat| where(:status => stat) }
    end
    
    订单控制器

    def show
        @order = Order.find(params[:id])
        @starting_tasks = @order.tasks.status(1).all
    end
    
    View/orders/show.html.erb

    <%= @starting_tasks.each do |task| %>
        <li><%= task.title %> <%= task.dueddate %></li>
    <% end %>
    
    
    

  • jain您好,这真是太棒了,我看了《铁路工人》。从其他控制器执行此操作的最佳方式是什么?如果我想列出订单中的任务,我尝试了以下方法:@tasks=Task.where(['status=?AND order_id',false,1])?JxMy错误。。。需要使用:@tasks=Task.where(['status=?AND order_id=?',false,1])愚蠢的我!jain嗨,这真是太棒了,我看过铁路工人。从其他控制器执行此操作的最佳方式是什么?如果我想列出订单中的任务,我尝试了以下方法:@tasks=Task.where(['status=?AND order_id',false,1])?JxMy错误。。。需要使用:@tasks=Task.where(['status=?AND order_id=?',false,1])愚蠢的我!