簡體   English   中英

實施Rails動態部分

[英]Implementing Rails Dynamic Partials

我當時正在建立CMS,但在實施新功能時遇到了麻煩。 本質上,我的目標是讓用戶擁有菜單中存在的多個位置,並且當“用戶”單擊“位置”的每個位置時,該頁面上的部分內容會顯示屬於該“位置”的所有“標志” ”,並且只有屬於“位置”的“標志”。 數據模型非常簡單:

class User < ActiveRecord::Base 
    has_many :restaurants, dependent: :destroy
end

class Restaurant < ActiveRecord::Base

    belongs_to :user
    validates  :user_id, presence: true

    has_many :campaigns, dependent: :destroy
end

class Campaign < ActiveRecord::Base
    belongs_to :restaurant
end

但是,在實現方面,我不知道如何使頁面中的部分內容取決於用戶選擇的內容,然后僅顯示相關內容。

目前,我為用戶show如下:

<% provide(:title, @user.name) %>
<div class="row">
    <aside class="span4">
        <section>
            <h1>
                <%= gravatar_for @user %>
                <%= @user.name %>
            </h1>
        </section>
        <section>
            <% if @user.locations.any? %>
                <div>
                    <%= link_to "Start a Campaign", newcampaign_path, class: "btn btn-medium btn-primary" %>
                </div>
                <%= link_to "Manage Locations", uploadlocations_path %>     
            <% else %>
                <%= link_to "Upload Locations", uploadlocations_path, class: "btn btn-medium btn-primary" %> 
            <% end %>
        </section>
        <section>

            <%# disply list of restaurants%>

            <%= link_to "Add New Restaurant", newrestaurant_path, class: "btn btn-medium btn-primary" %>
            <ul class ="campaigns">
                <%= render @restaurants %>
            </ul>

        </section>
    </aside>
    <div class="span8">
        <% if @restaurants.any? %>

            <ol class="campaigns">
                <%= render @campaigns, object: @restaurants %>
            </ol>

        <% end %>
    </div>
</div>

用戶可以在側面菜單中的render @restaurants處單擊特定餐廳,該餐廳將轉到部分餐廳:

<ul>
    <span class="content">
        <%= link_to restaurant.name, '#' %>
    </class>
</ul>

我如何讓用戶單擊菜單中的一家餐廳,然后將所選的特定餐廳發送回用戶show頁面中的<%= render @campaigns, object: @restaurants %>

選擇用戶后的一種可能的方法是

@restaurants = @user.restaurants

這是你在想什么

@campaigns = @restaurant.campaigns

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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