我有以下型号:
Project - name:text - description:text
这是我在HAML中为新项目编写的表格的片段:
%p Create a new project: %form{:method => "post", :action=>"/projects/"} %label{:for => "project-name[name]"} Name: %input{:type=>'text', :size=>40, :name=>'projectname', :id=>'project-name'} %br/ %label{:for => "project-description[description]"} Description: %textarea{:rows=>'10',:cols=>'10',:name=>'projectdescription',:id=>'project-description'} %br/ %input{:type=>'submit', :value=>'Create'}
当用户点击提交时,会话数据似乎被清除。
这就是为什么我怀疑这个:
session[:user_id] = user.id
index
和new
操作。 有什么想法吗?
答案 0 :(得分:2)
我相信这里发生的事情是你在ApplicationController中有`protect_from_forgery',但csrf令牌没有发送到应用程序。如果是AJAX调用,请检查是否包含相关的rails.js。如果您使用的是form_for,那么帮助程序会自动使用csrf标记插入隐藏字段。