リンクを介して、ユーザーがアプリ内の架空の場所を主張できるリンクがあります
<%= link_to("Claim this location!", loc_claim_path(@loc.id), :id => "loc_claim") %>
次のように、クレームコントローラを介してリクエストをルーティングします。
def claim
@loc = Location.find(params[:loc_id])
if !@user
flash[:notice] = "You need to be logged in to claim a location!"
redirect_to(@loc)
else
flash[:notice] = "Location claimed!"
render("claim.js")
end
end
ユーザーがログインしていない場合(つまり、@ userがfalseの場合)、ユーザーはロケーションページにリダイレクトされます。
ただし、ユーザーがログインしている場合は、javascriptのclaim.jsを起動する必要があります。これにより、終了時にロケーションページにリダイレクトされます。
私の問題は、:remote => trueに設定すると、javascriptは起動しますが、htmlは起動しません。また、:remoteを設定しないと、その逆になります。
両方の長所を活かす方法はありますか?または、それを除いて、これを設定するためのより良い方法はありますか?