1

我想在我的 rails 应用程序中访问以下资产:

/users/1/posts/1.json

这将是用户帖子的 json 输出,只是一个字符串。

但是要访问资产,用户必须登录。当前会话控制器采用 params[:email] 和 params[:password],控制器通过电子邮件搜索用户模型,然后分配一个会话变量来登录用户.

我尝试了 curl -d 或 curl--data 提供电子邮件的变体,最有希望的似乎是:

curl -d 'email[content]=email' -d 'password[content]=password'  /session/create

然而 curl 命令的输出给出:

SQLException: no such column: email.content:

我怎样才能塑造我的 curl 命令来访问这个资产?

4

1 回答 1

1
curl -d 'user[email]=email' -d 'user[password]=password' /session/create

Rails 表单的发布变量总是model[column]

如果您想保持登录状态,则必须使用 curl 的 cookie jar 将会话 ID 保存在请求之间。只需添加带有文件路径的 --cookie-jar 选项。

curl -d 'user[email]=email' -d 'user[password]=password' --cookie-jar /tmp/cookiejar /session/create
curl --cookie-jar /tmp/cookiejar /users/1/posts/1.json
于 2013-02-24T02:38:09.853 回答