好吧,說實話,我沒有花太多時間尋找解決方案,但看到我的兒子如何讓我的注意力四處奔跑。無論哪種方式,我想問一個問題,看起來很簡單,但到目前爲止,我一直困擾着我。回報,沒有傳遞給控制器的參數:遠程link_to
所以爲了保持簡單可以說我有用戶(w/model)和Home控制器,Home是根路線。
在根目錄中,我希望能夠看到用戶使用ajax創建的所有帖子,以便使用帖子列表更新主頁上的部分內容。
在用戶控制器我有一個高清叫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 at Sun Jan 15 13:36:23 -0600 2012 UserController#userposts as JS參數:{」user_id「=>」2「}用戶負載(0.1ms)SELECT」users「。* FROM 「用戶」 WHERE 「用戶」, 「ID」 是完成在1ms內
NoMethodError(未定義的方法
posts' for nil:NilClass):
userposts'
app/controllers/users_controller.rb:27:in渲染 /home/n0de/.rvm/gems 500內部 服務器錯誤NULL LIMIT 1 /ree-1.8.7-2011.03/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.8ms)Rendered /home/n0de/.rvm/gems/ree-1.8 .7-2011.03 /寶石/ ActionPack的-3.1.0/LIB/action_dispatch /中間件/模板/救援/ _request_and_response.erb (0.8ms)呈現 /home/n0de/.rvm/gems/ree-1.8.7-2011.03/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/救援內diagnostics.erb /佈局(的3.2ms)
我意識到我沒有貼_show.js.erb
文件調用操作以更新DIV,但根據錯誤信息似乎並不過程中已經得到了那麼遠。
問題似乎在你的routse.rb中,你可以發佈嗎? – markijbema 2012-01-15 19:59:33
是@ user' null嗎?你有沒有向用戶資源添加一個新的RESTful動作呢?另外,我認爲你應該將'@ user'傳遞給'user_userposts_path '如果您按照[路由文檔](http://edgeguides.rubyonrails.org/routing.html#adding-more-restful-actions)中所述的方法將它添加爲方法':on =>:member'。 – 2012-01-15 20:04:57