個人的なプロジェクトでRuby on Rails 5を使用していますが、正しいコントローラアクションとクライアントアクションへのリンクルートを取得できません。Ruby on Railsの投稿パスがget pathに変わります
<div class="admin-users index">
<h2>Admin Users</h2>
<%= image_tag('plus_sign.png', :size => '11x11', :alt => '+') %>
<%= link_to("Add New Admin User", new_admin_user_path, :class => 'action new') %>
<table class="listing" summary="Admin user list">
<tr class="header">
<th>Username</th>
<th>Name</th>
<th>Email</th>
<th>Actions</th>
</tr>
<% @admin_users.each do |admin_user| %>
<tr>
<td><%= admin_user.username %></td>
<td><%= admin_user.name %></td>
<td><%= mail_to(admin_user.email) %></td>
<td class="actions">
<%= link_to("Edit", edit_admin_user_path(admin_user), :class => 'action edit') %>
<%= link_to("Delete", delete_admin_user_path(admin_user), :class => 'action delete') %>
<%= link_to("Follow User", followings_path(:followed_id => admin_user), :method => :post)%>
</td>
</tr>
<% end %>
</table>
</div>
私は、2人のユーザー間でバインディングを作成するためのポストリクエストを作成するリンクアクションを持っています。私がフォローユーザをクリックすると
Rails.application.routes.draw do
resources :followings, :except => [:show, :update, :delete, :new] do
end
私は私のために物事を簡単にするためのリソースのルーティングを使用し、残念ながら、私のポスト要求は、GETリクエストに変身し、私は私の次のリストにすべてのユーザーを追加することはできません。
http://localhost:3000/followings?followed_id=5
私がフォローユーザーボタンにクリックすると、それは結構です上記URLに私をリードしたが、その後コンソールを見た後、私はそれがGETリクエストです参照してください。それがこれをやっている理由
class FollowingsController < ApplicationController
layout 'admin'
def index
admin_user = AdminUser.find(session[:user_id])
@user = admin_user
end
def create
current_user = AdminUser.find(session[:user_id])
@following = current_user.following.build(:followed_id => params[:followed_id])
if @following.save
flash[:notice] = "Added user."
redirect_to root_url
else
flash[:notice] = "Cannot add user."
redirect_to(admin_users_path)
end
end
def destroy
current_user = AdminUser.find(session[:user_id])
@following = current_user.followings.find(params[:id])
@following.destroy
flash[:notice] = "Removed user."
redirect_to root_url
end
end
を把握することはできません:
Started GET "/followings?followed_id=5" for ::1 at 2016-12-24 18:16:26 -0400
ActiveRecord::SchemaMigration Load (1.0ms) SELECT `schema_migrations`.* FROM `schema_migrations`
Processing by FollowingsController#index as HTML
Parameters: {"followed_id"=>"5"}
AdminUser Load (0.0ms) SELECT `admin_users`.* FROM `admin_users` WHERE `admin_users`.`id` = 1 LIMIT 1
Rendering followings/index.html.erb within layouts/admin
Following Load (0.0ms) SELECT `followings`.* FROM `followings` WHERE `followings`.`admin_user_id` = 1
AdminUser Load (1.0ms) SELECT `admin_users`.* FROM `admin_users` WHERE `admin_users`.`id` = 3 LIMIT 1
Rendered followings/index.html.erb within layouts/admin (64.0ms)
Completed 200 OK in 542ms (Views: 448.4ms | ActiveRecord: 10.0ms)
ここでは、次のコントローラです。
生成されたhtmlのリンクに 'data-method = post'がありますか? – Iceman
はい、持っています。 – user3435009
'次のコントローラを表示できますか? –