Ruby on rails 从视图到控制器的逻辑
如何将此视图移动到控制器 模型Ruby on rails 从视图到控制器的逻辑,ruby-on-rails,Ruby On Rails,如何将此视图移动到控制器 模型 class Reserve < ApplicationRecord belongs_to :user, optional: true end 在您看来,您可以替换查询,访问user.reserves并对其进行迭代: <% @user_list.each do |user| %> <td><%= user.name %>:</td> <% user.reserves.each do |res
class Reserve < ApplicationRecord
belongs_to :user, optional: true
end
在您看来,您可以替换查询,访问user.reserves并对其进行迭代:
<% @user_list.each do |user| %>
<td><%= user.name %>:</td>
<% user.reserves.each do |reserve| %>
- <td><%= reserve.date %></td><br>
- <td><%= reserve.time %></td><br>
<% end %>
<% end %>
我不知道您的情况,但要处理保留
我必须在拐点配置文件中创建一个条目:
# config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'reserve', 'reserves'
end
问题是reserves=Reserve.where(:user_id=>user.id)我说的对吗?
user.includes:reserves
做你想做的事,而不是用where子句为每个用户再次点击数据库,试试看。是的,这是@Johnlast问题,如果我想在控制器中迭代并创建一个对象reserve='reserve.where(:user_id=>user.id)'并放置reserve?谢谢。这取决于您为什么要这样做,您可以使用includes从每个用户处获得储备金。另一方面,如果要这样做,则需要从视图向控制器发送user.id
,这可以通过定义新路由或使用AJAX来完成。
<% @user_list.each do |user| %>
<td><%= user.name %>:</td>
<% user.reserves.each do |reserve| %>
- <td><%= reserve.date %></td><br>
- <td><%= reserve.time %></td><br>
<% end %>
<% end %>
class SomeController < ApplicationController
def index
@user_list = User.includes :reserves
end
end
# config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'reserve', 'reserves'
end