あなたの一人が私の前の質問で言ったように、私はポストリクエストをしようとしました。
これが私のログインビューです
<%= form_for :check_validity, :method => "post", :url => {:action => "check_validity"} do |f| %>
<%= f.label :username %>
<%= f.text_field :username %><br />
<%= f.label :password %>
<%= f.password_field (:password)%><br />
<%= f.submit "Submit"%>
<% end%>
check_validity
これはメソッドなのでpost
、postメソッドで以下のコードを記述しました
def check_validity
@USER = params[:display_command_list][:username]
@PASS = params[:display_command_list][:password]
@HOST = 'hostname'
Net::SSH.start( @HOST, @USER, :password => @PASS ) do|ssh|
@result = ssh.exec!("command")
end
if(@result =~ /somestring/)
redirect_to display_command_list_path({:username => @USER, :password => @PASS})
else
redirect_to denied_access_path
end
end
しかし、ログインページにユーザー名とパスワードを入力して送信ボタンをクリックすると、このpostメソッドに移動して"Missing template authorization/check_validity"
エラーが発生します。私は自分のに含めpost "authorization/check_validity"
ましたroutes.rb
。ここで非常に基本的なものが欠落しているようです:(。検索する代わりに、前述のパスにリダイレクトできない理由を教えてくださいcheck_validity.html.erb
スキャフォールディングし、新しい投稿をクリックして送信すると、投稿リクエストであるcreateメソッドにリダイレクトされ、自動的にshowメソッドにリダイレクトされ'get'.
ます。作成後に「show」に移動する必要があることをどのように理解できますか。 ?ここでそれを複製しようとしましたが、失敗しました。助けてください。
更新:ここを見て、POSTメソッドでリダイレクトを使用するべきではないことを理解しました。しかし、この情報をどのように使用して、この方法に出入りするのでしょうdenied_acess_path
か。display_command_list_path
check_validity