【发布时间】:2018-01-21 13:48:51
【问题描述】:
我的第一个 SO 帖子。终于找到了让我难过的东西,经过 6 个多小时后,我决定在我失去理智之前需要一些帮助。
我正在尝试将 collection_select 用于字段中的下拉列表,以在第二个模型中创建新记录。我的目标是填充由个人用户从 Accounts 模型(一个共享数据库)创建的记录列表,以在名为 Assets 的新模型中创建记录。
我已将 Accounts 表单设置为为创建条目的用户存储自动生成的记录 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 填充的下拉列表中的结果
我整晚都在做这件事,不打算睡觉,直到它是正确的,所以任何帮助将不胜感激。哈哈哈
【问题讨论】:
标签: mysql ruby-on-rails ruby ruby-on-rails-4 collection-select