比如说新增一个产品后,保存后,直接进入该编辑状态,可以在同一页面编辑完成后再次提交保存 Controller 如何写 view 想公用一个 erb 文件
这个很简单啊,比如新建 post 请求对应的 method 是create,
create
def create @production = Production.create(production_params) if @event.save redirect_to edit_production_path(@production), notice: '产品发布成功' else render :new end end
就可以了,redirect_to将页面跳转去编辑页面即可。公用一个 erb 不现实,但是两个 erb 里都可以同时渲染同一张表:
redirect_to
<div class="something"> <%= render 'productions/form' %> </div>
然后把公用的表单放进views/productions/_form.html.erb就可以了
views/productions/_form.html.erb
def create @product = Product.new(product_params) if @product.save redirect_to edit_product_url(@product), notice: 'Product was created. Now edit it.' else render 'new' end end
未經測試,大概意思如此
#2 楼 @blacktulip 收到,回头测试一下
#2 楼 @blacktulip #1 楼 @cassiuschen 谢谢二位,我大概想这样类似 http://www.guoku.com/entity/new/ 采集信息后,保存入库,再编辑,eview 页面想在一个页面 比如说我采集到信息后,在数据库里保存,我又想编辑这条信息。
#4 楼 @davidminaki 那就是新建的时候用 ajax 提交信息到后台,页面不刷新,使用 js 还可以在页面上添加更多的输入框什么的以填写更多信息。我想这样可以解决你的问题
#5 楼 @cassiuschen 思路 1 ajax 提交给后台后返回 json 数据,通过 js 在页面显示这些内容。再次提交 update? 思路 2 ajax 条给后台直接进入编辑状态可否?
#6 楼 @davidminaki ajax 给后台的话不存在所谓的进入编辑状态……可以 js 修改提交表单的地址成 update 方法的 route 什么的……