У меня есть приложение, в котором пользователи могут следить за юридическими фирмами
у меня 3 модели
- пользователь
- Фирма
- Следуйте
class Firm < ActiveRecord::Base
has_many :follows, :dependent => :destroy
has_many :users, :through => :follows
class User < ActiveRecord::Base
has_many :follows, :dependent => :destroy
has_many :firms, :through => :follows
class Follow < ActiveRecord::Base
belongs_to :firm
belongs_to :user
В таблице в моем представлении индекса фирм я хотел бы взять текущую подпись и создать ассоциацию между этим пользователем и юридической фирмой через следующую таблицу.
По сути дела, это -
firm.users << Пользователь (текущий) </p>
Это код, который у меня есть на данный момент, как бы вы предложили мне структурировать путь и соответствующий контроллер?
<% @firms.each do |firm| %>
<tr id = "firm_<%= firm.id %>">
<td><%= link_to image_tag(firm.logo_url, :size => "80x120"), firm.url %></td>
<td><%= link_to firm.name, firm_path(firm) %></td>
<% if user_signed_in? %><td>
<%= button_to 'Follow', ? , method: :post %>
</td>
<% end %>
Я использую devise для аутентификации пользователя и включил следующие помощники в помощник приложения, чтобы позволить моему частичному входу в систему функционировать в представлении других моделей.
def resource_name
:user
end
def resource_id
:user_id
end
def resource
@resource ||= User.new
end