Как сделать так, чтобы моя функция элемента зависела от ie_id - PullRequest
0 голосов
/ 06 декабря 2011

@ item = Item.find (params [: id]), но это возвращает значение, которое является значением для всех моих зарегистрированных пользователей, но я хочу, чтобы оно основывалось на идентификаторе зарегистрированного пользователя

1 Ответ

2 голосов
/ 06 декабря 2011

У меня возникли небольшие проблемы с пониманием вашего вопроса, поэтому я заранее прошу прощения, если я неверно истолковал ваш вопрос.

Вы ищете способ ограничить поиск только теми элементами, которые принадлежат текущему вошедшему в систему пользователю?

Для этого сначала требуется связь между Предметом и Пользователем, что-то вроде этого:

class User < ActiveRecord::Base
  has_many :items
end

class Item < ActiveRecord::Base
  belongs_to :user
end

Затем, предполагая, что вы можете получить доступ к зарегистрированному в данный момент пользователю, используя current_user, вы можете ограничить поиск следующим образом:

@item = current_user.items.find(params[:id])

Редактировать: Если у вас в сеансе есть user_id как session[:user_id], то вы можете сделать следующее:

@user = User.find(session[:user_id])
@item = @user.items.find(params[:id])

В любом случае процедура одинакова: начните с допустимого объекта пользователя и используйте отношение элементов, чтобы ограничить область действия элементами, связанными с этим пользователем.

Немного не по теме, вы можете избежать сохранения user_id непосредственно в сеансе, так как он может быть очень легко подделан, предоставляя нежелательный доступ (однако это будет разговор по другому вопросу).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...