簡體   English   中英

Rails 如何從表格 select 中指定的 model 獲取數據?

[英]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

或者如果你想從任務中獲取人名,

在 task.rb 中添加這個

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM