我有一个表单,通过remote => true向DB添加行.然后我想将新数据附加到表中,但无法获得正确的视图来呈现.
截至目前,它正在为新条目呈现整个show.html.erb页面,但我想布置一个最小版本作为一个添加.是否有一种快速方法可以告诉我的控制器在插入数据库后要呈现什么视图?我想渲染我的部分名为_newly_added.html.erb
我的控制器
def new
@task = Task.new
render :partial => "/tasks/newly_added", :locals => { :t => @task }
end
Run Code Online (Sandbox Code Playgroud)
谢谢!!
编辑 我认为我需要的只是另一种"展示"视图.
我发现我需要改变的方法实际上是这样的:
def create
@task = Task.new(params[:task])
respond_to do |format|
if @task.save
format.html { redirect_to @task, notice: 'Task was successfully created.' }
format.json { render json: @task, status: :created, location: @task }
else
format.html { render action: "new" }
format.json { render json: @task.errors, status: :unprocessable_entity }
end
end
end
Run Code Online (Sandbox Code Playgroud)
我只需要制作一个替代的节目视图,然后告诉它重定向到该视图.
我坚持的基本问题:
如果我收到带有以下JSON的POST请求:
JSON: {
"type": "invoice.payment_succeeded",
"pending_webhooks": 0,
"created": 1357936579,
"object": "event",
"livemode": false,
"id": "evt_15PLdo9JdZ2yN4",
"data": {
"object": {
"subtotal": 3500,
"attempted": true,
"paid": true,
"amount_due": 3500,
"closed": true,
"period_end": 1357936578,
"lines": {
"url": "/v1/invoices/in_15PLg6oL0IiYYj/lines",
"count": 1,
"object": "list",
"data": [
{
"type": "subscription",
"period": {
"end": 1360614978,
"start": 1357936578
},
"livemode": false,
"object": "line_item",
"proration": false,
"amount": 3500,
"quantity": 1,
"plan": {
"interval_count": 1,
"livemode": false,
"object": "plan",
"amount": 3500,
"trial_period_days": null,
"name": "forecast3",
"currency": "usd",
"id": "forecast3", …Run Code Online (Sandbox Code Playgroud)