按 user.id 筛选,使用 collection_select 作为下拉列表
Filter by user.id using collection_select for drop down in form
我的第一个 SO 帖子。终于找到了让我难过的东西,在 6 个多小时后,我决定在我失去理智之前需要一些帮助。
我正在尝试将 collection_select 用于字段中的下拉列表,以在第二个模型中创建新记录。我的目标是填充单个用户从帐户模型(一个共享数据库)创建的记录列表,以一种形式在名为资产的新模型中创建记录。
我已经将帐户表单设置为为创建条目的用户存储自动生成的记录 ID,因此我应该能够以某种方式引用它。
此时数据会填充到下拉列表中并可以保存,但是它会显示所有用户创建的所有条目,而不仅仅是创建新条目的用户所做的条目。
我确定有一些方法可以按 current_user.id 进行过滤。我尝试了 100 种我在网上找到的东西,我能得到的最接近的是无效参数错误,当它返回我想要的用户 ID 的整数代表时。
表格标签:
<%= form.label :asset_location, id: :asset_asset_location %>
<%= collection_select(:asset, :asset_location_id, Account.all, :id, :account_name, {}, {:multiple => false}) %>
控制器标签:
respond_to do |format|
@asset.user_id = current_user.id if current_user
if @asset.save
format.html { redirect_to asset_path}
format.json { render :show, status: :created, location: @asset }
else
format.html { render :new }
format.json { render json: @asset.errors, status: :unprocessable_entity }
end
end
我是 Ruby/Rails 的新手,正在尝试找出是否有更好的方法来过滤 current_user.id
下拉菜单中填充的结果
我真的整晚都在做这件事,不打算睡觉,直到它是正确的,所以任何帮助将不胜感激。哈哈哈
您应该可以引用由 current_user.accounts
用户创建的 accounts
,因此只需将 Account.all
替换为 current_user.accounts
<%= form.label :asset_location, id: :asset_asset_location %>
<%= collection_select(:asset, :asset_location_id, current_user.accounts, :id, :account_name, {}, {:multiple => false}) %>
我的第一个 SO 帖子。终于找到了让我难过的东西,在 6 个多小时后,我决定在我失去理智之前需要一些帮助。
我正在尝试将 collection_select 用于字段中的下拉列表,以在第二个模型中创建新记录。我的目标是填充单个用户从帐户模型(一个共享数据库)创建的记录列表,以一种形式在名为资产的新模型中创建记录。
我已经将帐户表单设置为为创建条目的用户存储自动生成的记录 ID,因此我应该能够以某种方式引用它。
此时数据会填充到下拉列表中并可以保存,但是它会显示所有用户创建的所有条目,而不仅仅是创建新条目的用户所做的条目。
我确定有一些方法可以按 current_user.id 进行过滤。我尝试了 100 种我在网上找到的东西,我能得到的最接近的是无效参数错误,当它返回我想要的用户 ID 的整数代表时。
表格标签:
<%= form.label :asset_location, id: :asset_asset_location %>
<%= collection_select(:asset, :asset_location_id, Account.all, :id, :account_name, {}, {:multiple => false}) %>
控制器标签:
respond_to do |format|
@asset.user_id = current_user.id if current_user
if @asset.save
format.html { redirect_to asset_path}
format.json { render :show, status: :created, location: @asset }
else
format.html { render :new }
format.json { render json: @asset.errors, status: :unprocessable_entity }
end
end
我是 Ruby/Rails 的新手,正在尝试找出是否有更好的方法来过滤 current_user.id
下拉菜单中填充的结果我真的整晚都在做这件事,不打算睡觉,直到它是正确的,所以任何帮助将不胜感激。哈哈哈
您应该可以引用由 current_user.accounts
用户创建的 accounts
,因此只需将 Account.all
替换为 current_user.accounts
<%= form.label :asset_location, id: :asset_asset_location %>
<%= collection_select(:asset, :asset_location_id, current_user.accounts, :id, :account_name, {}, {:multiple => false}) %>