2014-02-17 58 views
0

我有一個表單更新@identity對象。兩個@identity屬性需要從一個單獨的集合@accounts分配。簡單形式的散列數組

@accounts = [{ 
    'name' => 'A', 
    'page_id' => 1}, 
    { 
    'name' => 'B', 
    'page_id' => 2 
    }] 

形式需要顯示name,但同時通過namepage_id

<%= simple_form_for(@identity, :remote => true) do |f| %> 

    <%= f.input :page_name, :collection => @accounts.map { |a| a['name'] }, :as => :radio_buttons, :item_wrapper_tag => :li %> 

    <%= f.submit 'Submit', :class => 'btn btn-primary' %> 

<% end %> 

我怎樣才能通過匹配page_id屬性而不顯示它?

+0

您不能混合搭配字符串和符號。你正在設置'a [:name]',但是讀取'['name']'這將不起作用,除非這真的是'HashWithIndifferentAccess',並且你沒有發佈任何內容。 – meagar

+0

固定。 '@ accounts'不應該使用符號。 – mnort9

回答

0
:collection => @accounts.map { |e| [e['name'], e['page_id']] } 
+0

如何在控制器中檢索這些屬性?沒有分配給':page_name' – mnort9

+0

不起作用。我是否需要將'f.input'改爲別的東西來傳遞屬性作爲參數? – mnort9