新しい Entry オブジェクトを作成するために、Rails アプリケーションを curl して POST しようとしています。問題は、私の entry_controller Create アクションが次のようになっていることです。
def create
@user = current_user
@entry = @user.entries.build(params[:entry])
respond_to do |format|
if @entry.save
format.html { redirect_to landing_page_url, notice: 'Entry was successfully created.' }
format.json { render json: @entry, status: :created, location: @entry }
else
format.html { render action: "new" }
format.json { render json: @entry.errors, status: :unprocessable_entity }
end
end
end
@user.entries.build を呼び出すと、 current_user が存在しないため、例外が返されます。問題は、ブラウザーを使用してエントリを作成すると (ログインして current_user 変数を作成するため)、Create アクションがうまく機能することですが、コントローラのロジックを変更せずに POST をカールさせてエントリを作成できるかどうかはわかりません。それが不可能な場合、誰かがコントローラー ロジック (curl POST と互換性がある) を構築するための正しい方向に到達するのを手伝ってくれますか?
これがばかげた質問である場合は申し訳ありませんが、私はこれらすべてにかなり慣れていません。
PS: 私は Rails 3.2.3 を使用しています。