0

これらは、いくつかのキャンペーンをフィルタリングするために私が今持っているリンクです:

            <ul>
                <li><%= link_to "Owner", :role_id => "1" %></li>
                <li><%= link_to "Manager", :role_id => "2" %></li>
                <li><%= link_to "Agent", :role_id => "3" %></li>
                <li><%= link_to "Participant", :role_id => "4" %></li>
            </ul>

ロールIDはcampaign_membership.rbで指定されます

ROLE = {'owner' => 1, 'manager' => 2, 'agent' => 3, 'participant' => 4}

リンクを作成する方法はおそらく正しい方法ではなく、ハードコーディングされています。このrole_idを別のより適切な方法で割り当てるにはどうすればよいですか?

使用するようなもの

CampaignMembership::ROLE::owner
CampaignMembership::ROLE::manager
CampaignMembership::ROLE::agent
CampaignMembership::ROLE::participant

リンク内。

ありがとうございました。

詳細:

2つのテーブル、usersおよびcampaigns3次元のテーブルによってリンクされているcampaign_membership、キャンペーンメンバーシップのuser_id、、campaign_idおよびrole_id

4

1 に答える 1

2
# in your config
ROLE = {'owner' => 1, 'manager' => 2, 'agent' => 3, 'participant' => 4}

# in your view:
<ul>
  <% ROLE.each do |k,id| %>
  <li><%= link_to t("roles."+k), :role_id => id %></li>
  <% end %>
</ul>

# in your config/locales/en.yml
en:
  roles:
    owner: Owner
    manager: Manager
于 2012-10-15T13:38:03.643 に答える