Ruby on rails 3 查找器方法相关控制器
我有两个控制器,命令和任务-每个命令有许多任务 在我的订单显示视图中,我列出了订单的所有相关任务 我的问题是我想限制输出-例如,只列出状态为1的任务 在我的订单控制器中,我尝试了以下方法: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
@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])愚蠢的我!