2011-08-30 83 views
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>  

回答

0

应该不是这仅仅是编辑/更新使用REST?

相关问题