Ладно, если честно, я не тратил много времени на поиски решения, но видел, как мой сын заставляет меня бегать. В любом случае я хотел бы задать вопрос о чем-то, что кажется довольно простым, но до сих пор озадачило меня.
Итак, для простоты, скажем, у меня есть пользователи (с моделью) и контроллеры Home, Home является корневым маршрутом.
В корневом каталоге я хочу, чтобы я мог видеть все сообщения, сделанные Пользователем с помощью ajax, чтобы обновить частичное на главной странице со списком сообщений.
В контроллере users у меня есть def с именем userposts с этим в нем
def userposts
@user = User.find_by_id(params[:id])
@userposts = @user.posts.all(:order => "created_at DESC")
respond_to do |format|
format.js { @userposts}
end
end
И, на мой взгляд, у меня есть
<p id="aboutuser">
<% if @user.about? %>
<%= " " + @user.id.to_s %>
<% else %>
User has not yet filled this out.
<% end %>
</p>
<h3 id="authpostlink">
<%= link_to "List of all posts", user_userposts_path(@user.id), :id => @user.id, :remote => true %>
</h3>
мои ошибки следующие
Запущен GET "/ users / 2 / userposts" для 127.0.0.1 в воскресенье, 15 января 13:36:23
-0600 2012 Обработка UsersController # userposts как JS Параметры: {"user_id" => "2"} Загрузка пользователя (0,1 мс) ВЫБЕРИТЕ "пользователи". *
ОТ "пользователей" ГДЕ "пользователи". "ИД" НУЛЕВ ЛИМИТ 1 Завершено 500 Внутренний
Ошибка сервера в 1 мс
NoMethodError (неопределенный метод posts' for nil:NilClass):<br>
app/controllers/users_controller.rb:27:in
userposts '
Вынесено
/home/n0de/.rvm/gems/ree-1.8.7-2011.03/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb
(0,8 мс) отображается
/home/n0de/.rvm/gems/ree-1.8.7-2011.03/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
(0,8 мс) отображается
/home/n0de/.rvm/gems/ree-1.8.7-2011.03/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb в пределах rescues / layout (3.2ms)
Я понимаю, что не публиковал файл _show.js.erb
, который вызывает действие по обновлению div, но, согласно сообщениям об ошибках, процесс не зашел так далеко.