2017-05-31 71 views
-1

我正在开发一个应用程序,其中用户只能用他的电子邮件“登录”,然后完成提供密码的注册。在Rails的不同视图中使用模型声明

我的下一个观点:

+views

--invitations

--layouts

--products

--users

我想实现一个表,其中我会把邀请函和其他表的全部注册用户。

我在使用另一个视图(巡视视图)中的邀请模型时遇到了麻烦。

<%= form_for @invitations, remote:true do |f| %> 
    <%= f.label :email, class:'weight-700'%> 
    <%= f.email_field :email, class: 'form-control',name:'email', placeholder:'email' %> 
    <%= f.hidden_field :code_digest, :value => random_code %> 
    <%= f.button :submit %> 
<% end %> 

该代码给了我这个错误: First argument in form cannot contain nil or be empty

我不想使用Invitation.new,因为我有读者,这不是一个很好的做法,以做到这一点。

我不知道如何将表单与创建新邀请的链接关联起来,而无需更改或刷新页面。我知道是路由和JavaScript的东西,但我不知道如何继续。

我希望我明确自己。

+1

“我不希望使用Invitation.new因为我有读者这样做不是一个好习惯。“ - 不要相信你读的所有东西...... – max

+0

此外,你应该在模型或控制器中生成随机令牌 - 不在视图中。你不需要通过表单传递它。 – max

回答

1

需要初始化从那里这种形式呈现控制器动作@invitations ..

假设它是新的,然后

def new 
    ... 
    @invitations = Invitation.new 
end 
相关问题