如何创建部分通讯

时间:2012-10-05 22:02:13

标签: ruby-on-rails-3

我正在尝试创建一个非常简单的电子邮件注册表单,用户只需输入他们的电子邮件并按提交即可。

我希望注册表格是部分的,所以我可以在网站的任何地方使用它。

表单的编码如下: <%= form_for @subscription do |f| %>

如果当前视图,控制器和操作是主页,如何告诉@subscriptionSubscription.new的表单?

谢谢!

3 个答案:

答案 0 :(得分:0)

作为一种选择,您可以这样做:

<%= form_for Subscription.new do |f| %>

但有一点,我自己没试过。试一试,看看它是否有效。

修改

抱歉,我在第一次阅读时没有收到问题。 您可以在家庭控制器中将@subscription实例变量设置为Subscription.new,然后将其传递给部分(在主视图内),如下所示:

<%= render partial, :subscription => @subscription %> 

希望这有帮助。

答案 1 :(得分:0)

您必须确保在调用部分之前实例化@subscription ...或者执行:

 <%= form_for @subscription || Subscription.new do |f| %>

因此,如果@subscription存在,则使用它。如果没有,它将回退到Subscription.new

答案 2 :(得分:0)

您可以在主页操作中将@subscription声明为Subscription.new