У меня возникли небольшие проблемы с пониманием вашего вопроса, поэтому я заранее прошу прощения, если я неверно истолковал ваш вопрос.
Вы ищете способ ограничить поиск только теми элементами, которые принадлежат текущему вошедшему в систему пользователю?
Для этого сначала требуется связь между Предметом и Пользователем, что-то вроде этого:
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 непосредственно в сеансе, так как он может быть очень легко подделан, предоставляя нежелательный доступ (однако это будет разговор по другому вопросу).