2015-06-29 213 views
0

我创建了一个简单的登录页面来收集订阅模型中的电子邮件地址。将参数传递给新控制器

提交时,创建订阅并将用户重定向到路由到订阅的感谢页面/谢谢。

我想将新创建的ID传递给感谢页面,如订阅/:id/thanks,以便我可以访问新创建的感谢页面的订阅。

+0

显示您的routes.rb。 – potashin

回答

0

代码未测试

在路线文件:

resources :subscriptions do 
    member do 
    get :thanks 
    end 
end 

然后使其中容纳感谢路由控制器的方法。

def thanks 
    # thanks code will be here 
end 

在处理数据后,控制器将用户重定向到

redirect_to thanks_subscription_path(@YourSavedObject), notice: 'Some message' 

这一切就是这么回事。 PS:我不喜欢这种方法。最好能够比抛出变量更好地解耦。太多的重复。

路由说明

我学会了所有从这里路由:http://guides.rubyonrails.org/routing.html神奇源。

干杯和祝你好运的队友。

0

谢谢H先生!

这是我所做的似乎已经运行得很好。我真的不明白路由,所以任何意见赞赏:

在路线:

resources :subscriptions 

得到 '订阅/:ID /感谢'=> '订阅#感谢',因为: '感谢'

订阅控制器:

def thanks 
    @invite = Invite.new 
    @subscription = Subscription.find(params[:id]) 
    end 

创建行动

if @subscription.save 
     format.html { redirect_to thanks_path(@subscription), notice: 'Subscription was successfully created.' } 
     format.json { render :show, status: :created, location: @subscription } 
     else 
+0

您的'感谢'方法在Subscription控制器中,这就是为什么我使用'member'作为路由块的原因。 –

相关问题