Как показать конкретное представление для ресурса пользователя? - PullRequest
0 голосов
/ 01 марта 2012

У меня есть две модели:

User
has_many :prices

Price
belongs_to :users

Я хочу показать вид следующим образом:

<% show this view if price belongs to current user %>
 <div> Price of Current User </div>
<% end %>

Как бы я это сделал?

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

Во-первых, ассоциация в модели Price должна быть

belongs_to :user #not users

Во-вторых, я все еще не уверен, что понимаю вопрос, но я дам вам 2 цента:

Если вы просто хотите отобразить цены текущего пользователя в своем представлении:

<% current_user.prices.each do |price| %>
  <div><%= price %></div>
<% end %>

Это выведет цену каждого пользователя.

Если вы просматриваете всеваши цены, и вы хотите отобразить что-то, когда цена принадлежит пользователю, вы можете использовать что-то вроде:

<% @prices.each do |price| %>
  <div><%= price %>
    <% if price.user == current_user %>
    <span> << out of all the prices, this is yours</span>
    <% end %>
  </div>
<% end %>

Предполагая, что у вас есть @prices (@prices = Price.all) и current_user, определенный в вашем контроллереэтот фрагмент кода перебирает все цены и добавляет интервал, когда цена принадлежит текущему пользователю.

Надеюсь, это поможет вам. Также посмотрите это руководство оассоциации, и что вы можете с ними сделать.

0 голосов
/ 01 марта 2012

= в условном выражении должно быть ==.

...