[英]Rails how to fetch data from model specified in form select?
假設我有這個表格 select:
<%= form_with(model: task, local: true) do |form| %>
<%= form.select(:person_id, Person.all.collect {|c| [c.person_name, c.id]}, {prompt: "Select a person"}, {class: 'col-md-12'}) %>
在我的任務 controller 中,在我的創建定義中,我希望能夠獲取 person_name,但事實證明我不能。 例如,我可以通過@task.person_id 獲取id,但不能通過@task.person_name 獲取。 我將如何實現這一目標? 我正在考慮可能是 options_for_select 或者可能是 collection_select,但我很不確定。
有人有想法嗎? 謝謝:)
如果您將收集更改為 select 可能會有所幫助 @autoComplete = Prom.select('promname').collect { |p| p.promname }
也許您可以通過以下方式訪問人名
@task.person.person_name
或者如果你想從任務中獲取人名,
def person_name
self.person.person_name if !self.person_id.nil?
end
那么您可以在 controller 中使用 @task.person_name
原來我通過在 controller 的 def create 中執行此操作來修復它:
name = @task.person_id
@person = Person.find(name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.