這可能看起來像一個初學者的問題,但它讓我難住。我有一個用戶模型和一個位置模型。位置屬於用戶,並且用戶具有多個位置。我有位置存儲爲我的路線文件中的嵌套資源。保存和檢索模型
下面是我的LocationsController文件的創建功能:
def create
@user = User.find(params[:user_id])
@location = @user.locations.build(params[:location])
respond_to do |format|
if @location.save
format.html { redirect_to @user }
format.js {
@locations = @user.locations
render 'create'
}
else
format.html { render @user }
format.js
end
end
end
create.js.erb:
$('table#locations').html("<%= escape_javascript(render(@locations)) %>");
_location.html.erb:
<tr>
<td><%= location.user.name %></td>
<td><%= location.created_at %></td>
<td><%= location.longitude %></td>
<td><%= location.latitude %></td>
</tr>
保存到數據庫使用AJAX工作沒有問題。但是,檢索記錄時,返回表的最後一行只包含用戶名。不顯示created_at,經度和緯度。如果我刷新頁面,則會顯示它們。有沒有人有任何想法,爲什麼這可能會發生?
謝謝。
更新
我顛倒了模型的秩序,它仍然是不打印底部入口。我的猜測是這是關於視圖而不是模型。
這是一個很好的建議,但它沒有奏效。無論如何感謝您的答覆。 – LandonSchropp 2011-05-19 06:13:32
好吧,你可以將@locations的內容記錄到控制器的控制檯/日誌中嗎?你必須確定數據是否真的存在。如果是這樣,那麼你知道這是你的看法的問題(我懷疑你的視圖代碼看起來很簡單)。 – CharlieMezak 2011-05-19 13:05:01
嗯,你是對的。當我從控制器記錄數據時,最後一項缺少其數據。它讀取#<位置id:nil,longitude:nil,緯度:nil,user_id:1,created_at:nil,updated_at:nil>。奇怪的部分是我在位置模型中驗證經度和緯度的存在。 – LandonSchropp 2011-05-20 04:04:30