2016-03-22 110 views
0

我正在創建一個RoR應用程序。所以我想用選擇下拉式創建一個網頁表單。我在一個項目中找到了以下代碼。這是一種形式:Ruby On Rails:我需要一些關於表格的解釋

<div class="field"> 
    <%= f.label :key_words %><br> 
    <%= f.collection_select(:skill_list, User::all_tags, :name, :name, {},{multiple: true}) %> 
</div> 

我在用戶控制器類創建:

class UsersController < ApplicationController 
... 
def all_tags 
    @tags = Tag.all 

    end 
end 

這裏是數據庫:

enter image description here 1.我不明白什麼是User::all_tags?好了解 2.我看不到標籤在我的選擇下拉列表中。什麼不見​​了 ?

+0

的方法'all_tags'可以是一個類方法,返回數據庫中的所有標籤 – psantos

+0

我可以在哪個類中看到它? – Pracede

+1

你可以在'User'類中看到。請注意,這個類是用戶定義的類和方法。它不是Rails的核心類或方法 – psantos

回答

0

您需要先了解情況,然後根據需要去了解它。

你傳入:User::all_tags, :name, :name

User::all_tags回報你最有可能的數組/哈希值,而這個數組將被用來填充collection_select,但一般option標籤有兩件事情:1)value將準確發送到服務器,以及一段將顯示的文本,但不一定會發送到服務器。

User::all_tags之後的第一個參數決定了value的內容,第二個參數決定了該明顯文本的內容。

<option value="First argument goes here ">"Second argument">/option> # this isn't valid code 
0

在我看來all_tags該放置在用戶類和有一個數組或包含值散列 可以調用等User.all_tags該方法以及