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>