2
我試圖能夠通過best_in_place直接在索引頁面上控制我的usermanagement。但是說到選擇角色,到現在爲止它並不適合我。Best_in_place collection 1 to many association
我的模式是這樣的:
class User < ActiveRecord::Base
belongs_to :role
before_create :set_default_role
def set_default_role
self.role ||= Role.find_by_name('Guest')
end
end
class Role < ActiveRecord::Base
has_many :users
has_and_belongs_to_many :permissions
accepts_nested_attributes_for :users, :permissions
end
我做了什麼直到現在試圖選擇在集合外鍵role_id
選擇,但我不能得到它的工作,我看到在我的選擇現有角色的名稱落下。
<td><%= best_in_place user, :role_id, :type => :select, :collection => "???" %></td>
希望有人可以幫忙。
此致敬禮!
編輯:user_controller.rb
class UsersController < ApplicationController
before_action :set_user, only: [:show, :update, :destroy]
def index
@users = User.all
end
def show
end
def update
@user.update_attributes(user_params)
respond_with @user
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:role_id)
end
end
您可以發佈您的控制器代碼? – Pavan
你可以在上面看到它! – Syk
試試這個'<%= best_in_place user,:role_id,:type =>:select,:collection => @ users.map {| i | [i.id,i.name]}%>' – Pavan