私は秘密のコントローラーでそのような方法を持っています(また、私はcarrierwaveを使用します):
def create
@secret = Secret.new
@secret.file_to_solve = params[:file]
@secret.file_type = "audio" if audio(params[:file])
@secret.file_type = "image" if image(params[:file])
@secret.name = Digest::MD5.hexdigest(params[:file].original_filename)
@secret.status = "uploaded"
@secret.save!
render :layout => 'solving_layout'
end
サーバーにファイルを送信するために、そのようなphpスクリプトでこのメソッドを呼び出した後:
<form method="post" action="http://192.168.1.4:3000/secrets" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
Ключ от учетной записи:
<input type="text" name="key" value="d759cb7a0bc6f5433ccdb790cd5bc63b">
Файл капчи:
<input type="file" name="file">
<input type="submit" value="загрузить и получить ID">
</form>
デバイス セッションが破棄されているように見えますが、なぜですか? 私は何を間違っていますか?もう一度ログインする必要があります(
私のルートは次のとおりです。
get "users/cabinet"
get "users/solving"
devise_for :users
#resources :sessions
resources :secrets
match "users/solving" => "users#solving", :as => :user_solving
match "users/cabinet" => "users#cabinet", :as => :user_cabinet
ユーザーコントローラーには、サインインの工夫ロジックがありませんでした。これだけです:
class UsersController < ApplicationController
before_filter :auth_user
def auth_user
redirect_to new_user_session_path unless user_signed_in?
end
def cabinet
@user = User.find(current_user.id)
end
def solving
end
end
私は何が間違っているのか理解できませんか?デバイスセッションが破棄されるのはなぜですか? また、その解決方法は? ログでは、私は奇妙なことは何も見ませんでした...