0
我對我的rails應用程序有點麻煩。簡而言之,它是一個社交網絡應用程序,用戶可以在其中提交個人資料,提交意見,並可以對提交意見進行評論。rails routes params找到一個表格
我的路線如下:
map.connect '/:username', :controller => 'users', :action => 'show'
map.connect '/:username/:id', :controller => 'submissions', :action => 'show'
所以,當他們正在查看提交URL類似於:
的數量的ID號類別。到現在爲止還挺好。我遇到麻煩的地方是當我嘗試提交評論時。沒有爲每個提交頁面提交意見的形式,看起來像這樣:
<% form_for Comment.new do |f| %>
<%= f.text_area :message %>
<%= f.submit "Submit", :disable_with => 'Submitting...' %>
<% end %>
和控制器看起來是這樣的:
def create
submission = Submission.find(params[:id])
comment = cat.comments.create(params[:comment])
comment.created_at = Time.now
comment.save
redirect_to submission
end
現在,每當我試圖作出評論提交時間Rails的回報:
ActiveRecord::RecordNotFound in CommentsController#create Couldn't find Submission without an ID or undefined method `answers' for nil:NilClass
基本上,rails不會從帶有參數的URL中拉出:id,我不知道爲什麼。提交頁面正確地顯示在URL中的每個ID,所以我不明白爲什麼它不把它拉到這個表單上。如果我明確地命名id(IE Submission.find(2345)),那麼它完美地工作......所以我錯過了什麼?我只是在愚蠢嗎?
我的關係也設置得很好。
在此先感謝。
工作完美!非常感謝!我剛剛在今天早些時候遇到了嵌套資源railscast,並計劃實施它,但還沒有找到你給我的hidden_field_tag的任何信息,所以非常感謝! – goddamnyouryan 2009-12-11 03:37:02