0
我有一個模型名稱TeamInvite,我嘗試爲其創建一個team_invite_params方法。允許使用自定義鍵的參數
當我創建表的遷移,因爲我想跟蹤發送者和接收者的,我選擇了自定義字段名稱
SENDER_ID
和
recipient_id
不要混淆哪個用戶是哪個。
無論如何,當我嘗試並允許對一個team_invite的參數,我無法告訴許可方法,該
編輯:
「team_invite」=> { 「用戶」 => 「2」}
其實又該何去何從下recipient_id。我所嘗試過的所有方法都不起作用,或者最終沒有傳遞任何值。
控制器
def create
@team_invite = TeamInvite.new(team_invite_params)
end
型號
class TeamInvite < ApplicationRecord
belongs_to :recipient, class_name: "User"
belongs_to :sender, class_name: "User"
end
PARAMS:
{"utf8"=>"✓", "authenticity_token"=>"0QLA9YiTu9nAf6QJLX5rg0DWa7CAMjqGOlUBICbcL8Ucs2DsCDgGBnhiDXPa/ot8DK0xwTR1D7MASu4/9tVj0w==", "team_invite"=>{"recipient_id"=>"2"}, "commit"=>"Save Team invite"}
視圖(如果它的事項):
<%= form_for :team_invite, url: team_invites_path do |f| %>
<%= f.select :recipient_id, User.all.collect { |p| [ p.name, p.id ] }, include_blank: false %>
<%= f.submit %>
<% end %>
遷移:
class CreateTeamInvite < ActiveRecord::Migration[5.0]
def change
create_table :team_invites do |t|
t.references :team, foreign_key: true
t.integer :recipient_id
t.integer :sender_id
t.timestamps
end
end
end
但我需要將其分配專門爲 「USER_ID」 因爲有需要是其他領域也是允許的。 – Jesse
你會在你的控制器動作中做到這一點,例如'@team_invite.user_id = params [:team_invite] [:user]' –
我試過了,但是recipient_id仍然是空的。 – Jesse