0
我在我的Rails應用程序的文本輸入框。當用戶插入文本並提交控制器通過檢查身份證的條目表,看是否存在條目與否。如果條目不存在,則將新條目放入表中。如果條目確實存在,則會更新它以包含新的文本輸入。從控制器傳遞變量查看,軌道
現在如果用戶提交一個條目,然後編輯並再次提交它無需重新加載時,它不應該是一個新的項創建的頁面。我注意到,如果創建一個新的條目其ID將不會被傳遞給控制器,直到重新加載頁面。這意味着,如果有人一直在編輯一個文本輸入並保存不重裝,新的條目將被添加到表中的每個編輯。
我想條目ID以儘快,因爲它創建傳遞到客戶端。因此,如果用戶決定立即編輯文本條目,他們將提交文本的ID,從而編輯現有的條目,而不是創建一個新的條目。
這是一些代碼:
控制器:
def edit_description
@msg = ''
@entry = nil
if params[:entry][:id]==nil || params[:entry][:id]==''
@entry = Entry.new(params[:entry])
else
@entry = Entry.find(params[:entry][:id])
@entry.title = params[:entry][:title]
@entry.data = params[:entry][:data]
end
if @entry.save
@msg ='Save Successful'
else
@msg ='Trouble Saving'
end
末
觀點:
<%= form_remote_tag(
:url=>{:controller=>"details", :action=>"edit_description"}%>
<p><textarea rows="10" cols="50" name="entry[data]"><%= (h(@entry.data) unless @entry==nil)%></textarea></p>
<p>
<input type="hidden" name="entry[id]" value="<%=(@entry.id unless @entry==nil)%>"/>
<input type="submit" value="Save"/>
</p>
</form>