我正在使用表單來允許用戶爲特定用戶所在的行程創建新的審閱。我的評論表目前有以下專欄(評分,trip_id,說明)。我遇到的問題是顯示用戶所在旅行的城市名稱文本。Rails:Form collection_set,通過關聯表幫助顯示文本
collection_set的Rails Doc接受以下參數:collection_select(method,collection,value_method,text_method,options = {},html_options = {})。就文字方法而言,我希望能夠顯示出行的實際城市名稱,但城市名稱由旅行表中的city_id引用。我不確定如何訪問通過其關聯存在的此列。
旅程表(USER_ID,city_id) 市表(名稱,描述)
<%= form_for @review do |f| %>
<%= f.label :rating %>
<%= f.number_field :rating %> <br>
<%= f.label :trip_id %>
<%= f.collection_select :trip_id, @user.trips, :id, :city_id %>
<%= f.label :description %>
<%= f.text_area :description %> <br>
<%= f.submit %>
<% end %>
我的第一次詢問導軌形式,所以請讓我知道我可以更新的問題,以更好地告知。
真棒!這正是我需要的。您能否解釋該方法的工作原理,特別是Trip模型如何訪問城市模型。是否因爲您需要先設置belongs_to關係? – jamesvphan
準確地說 - 添加'belongs_to'允許ActiveRecord知道'city_id'對應於'City',並且在您訪問'city'時爲您加載。有關關聯的文檔很好地解釋了這一點:http://guides.rubyonrails.org/association_basics.html – gwcodes