Rails link_to实例变量 .count() 结果的记录



我的提交者模型中的记录显示在应用程序索引视图中,并显示在如下所示的表中。只有我希望能够单击为.count()列出的数字,并被带到我的"工单索引"视图,其中列出了所有相应的记录(工单(。

我无法理解如何将实例变量链接到控制器的操作,以便使用视图的布局。

有什么想法吗?

<table>
  <tr>
    <th>Name</th>
    <th>Number of Tickets</th>
  </th>
  <tr>
    <% Submitter.where(:school_id => current_user.school_id, :disabled => false).each do |sub| %>
    <td><%= link_to sub.full_name, edit_submitter_path(sub) %></td>
    <td><%= Ticket.where(:submitter_id => sub).count %></td>
  </tr>
    <% end %>
</table>

路线.rb

resources :feedbacks
resources :products
get "password_resets/new"
get 'signup', to: 'users#new', as: 'signup'
get 'login', to: 'sessions#new', as: 'login'
get 'logout', to: 'sessions#destroy', as: 'logout'
resources :users
resources :sessions
resources :password_resets
resources :mailing_lists
resources :submitters
resources :emails
resources :notes
resources :reminders
resources :descriptions
resources :issues
resources :locations
resources :schools
resources :tickets
root :to => "application#index"

听起来你有一个有很多票证的提交者。如果是这样,您将显示提交者列表(在 submitters_controller#index 方法中(并计算票证数量。 然后将该数字链接到 tickets_controller#index 方法。 喜欢这个。。。

路线.rb

resources :submitters do
  resources :tickets
end

submitters_controller.rb

class SubmittersController < ApplicationController
  def index
    @submitters = Submitter.where(:school_id => current_user.school_id, :disabled => false)
  end
end

tickets_controller.rb

class TicketsController < ApplicationController
  def index
    @submitter = Submitter.find(params[:submitter_id])
    @tickets = @submitter.tickets
  end
end

views/submitters/index.html.erb

<table>
  <tr>
    <th>Name</th>
    <th>Number of Tickets</th>
  </th>
  <% @submitters.each do |sub| %>
    <tr>
      <td><%= link_to sub.full_name, edit_submitter_path(sub) %></td>
      <td><%= link_to pluralize(sub.tickets.count, 'ticket'), submitter_tickets_path(sub) %></td>
    </tr>
  <% end %>
</table>

视图/票证/索引.html.erb

# This would show a list of tickets and their attributes - possibly linking to a ticket.

也许是这样的事情?不是100%理解你的问题。

<table>
  <tr>
    <th>Name</th>
    <th>Number of Tickets</th>
  </th>
  <tr>
    <% Submitter.where(:school_id => current_user.school_id, :disabled => false).each do |sub| %>
      <td><%= link_to sub.full_name, edit_submitter_path(sub) %></td>
      <td><%= link_to pluralize(sub.tickets.count, 'ticket'), tickets_path %></td>
    <% end %>
  </tr>
</table>

当然,除非我知道您的config/routes.rb是什么样子的,否则我无法为您提供完美的工作代码,因为我不知道您的 Ticket Index 视图的方法是什么。

最新更新