【问题标题】:Implementing Rails Dynamic Partials实现 Rails 动态部分
【发布时间】:2014-09-08 22:40:40
【问题描述】:

我正在构建一个 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 页面中的&lt;%= render @campaigns, object: @restaurants %&gt;

【问题讨论】:

    标签: ruby-on-rails content-management-system partials


    【解决方案1】:

    选择用户后的一种可能方式是

    @restaurants = @user.restaurants
    

    这就是你的想法

    @campaigns = @restaurant.campaigns
    

    【讨论】:

    • 我将拥有多级访问权限,即。您选择餐厅,它会显示所有广告系列。如何实现?
    • @campaigns = @restaurant.campaigns?
    • 是的,但是我怎样才能让用户选择的餐厅回到视图中呢?我更新了问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多