Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过在表中添加用户id和页面id发送用户rails的邀请_Ruby On Rails_Ruby_Sqlite3 Ruby - Fatal编程技术网

Ruby on rails 通过在表中添加用户id和页面id发送用户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

我是rails的新手,我有一项任务要求我让页面管理员向普通用户发送邀请,与他一起成为管理员。我实现了回复邀请的部分,但我遇到了一个错误,请告诉我是否正确。这是我的邀请方法代码

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