Ruby on rails 通过在表中添加用户id和页面id发送用户rails的邀请
我是rails的新手,我有一项任务要求我让页面管理员向普通用户发送邀请,与他一起成为管理员。我实现了回复邀请的部分,但我遇到了一个错误,请告诉我是否正确。这是我的邀请方法代码Ruby on rails 通过在表中添加用户id和页面id发送用户rails的邀请,ruby-on-rails,ruby,sqlite3-ruby,Ruby On Rails,Ruby,Sqlite3 Ruby,我是rails的新手,我有一项任务要求我让页面管理员向普通用户发送邀请,与他一起成为管理员。我实现了回复邀请的部分,但我遇到了一个错误,请告诉我是否正确。这是我的邀请方法代码 def invite inviteUser = {"user_id" => current_user.id,"magazine_id" => params[:id]} CollaborationInvitation.create(inviteUser) @magazine = Magazine.fi
def invite
inviteUser = {"user_id" => current_user.id,"magazine_id" => params[:id]}
CollaborationInvitation.create(inviteUser)
@magazine = Magazine.find(params[:id])
redirect_to :back
end
以下是我的邀请函模型:
class CollaborationInvitation < ActiveRecord::Base
belongs_to :user
belongs_to :magazine
end
错误:没有与[GET]“/Magazine/3/invite”匹配的路由
当我把路线从put改为get时
我得到了这个错误:
CollaborationVitation的未知属性“user\u id”
看起来您只需要将路由正确设置为资源。删除上面列出的管线,并定义这些管线:
resources :magazines do
member do
put :follow
put :unfollow
put :invite
end
end
我遇到了同样的错误,即没有与[GET]“/Magazine/3/invite”匹配的路由传递
方法::将放在您的链接中或您正在使用的任何内容中。当您明确表示需要put时,它默认为get。我的链接中已经有了这一点,这就是为什么我不知道问题出在哪里,因为它被传递到url\u选项,并且应该被传递到html\u选项。
routes`member do
put 'follow' => 'magazines#follow'
put 'unfollow' => 'magazines#unfollow'
put 'invite' => 'magazines#invite'
end
resources :magazines do
member do
put :follow
put :unfollow
put :invite
end
end