轨道 视图中的嵌套模型



如何在事件索引中正确嵌套事件图片,以便在发布event_pictures时可以查看它们?

这是我的模型

class EventPicture < ApplicationRecord
belongs_to :event
end

我正在表单中使用字段

<%= f.fields_for :event_picture, @event.event_picture do |ff| %>
<p>
<%= ff.label :name  %><br>
<%= ff.text_field :name %>
</p>
<p>
<%=ff.label :url %>
<%=ff.text_field :url %>
</p>
<% end %>

这是我的事件视图(索引):

<% if user_signed_in? %>
<div class = "admincreate">
<% if user_signed_in? %>
<p> <button type="button" class="btn btn-primary"><%= link_to 'New event' , new_event_path(@events)%> </button> </p>
</div>
<% end %>

<% @events.each do |event| %>
<% if user_signed_in? %>
<div class =".btn-group-xs">
<tr>
<td> <button type="button" class="btn btn-primary"><%= link_to 'Show', event_path(event) %> </button>  </td>
<td> <button type="button" class="btn btn-primary"><%= link_to 'Edit', edit_event_path(event) %> </button> </td>
<td> <button type="button" class="btn btn-primary"><%= link_to 'Delete',event_path(event),
method: :delete,
data: { confirm: 'Are you sure?'} %> </button></td>
</div>
</tr>
<% end %>
<% end %>
</table>
<% end %>
<table>
<% @events.each do |event| %>
<tr>
<td class = "content-overlap-right">
<h1 class = "eventtitle"> <h1><%= event.title%> </h1>
<p class = "eventlink"><b> <%= event.url %></b></p>
<p class = "eventbody"><%= event.body%> </p>
</td>
</tr>
<%end%>
</table>

这是我的控制器

def event_params
params.require(:event).permit(:title, :url, :body, event_picture_attributes:
[:id, :url, :name])
end

我试过 1) event_pictures。URL(在我的@events.each do中),我已经尝试过每个事件图片。

也许我错过了一个小细节或已经偏离了,但我对一般显示嵌套属性有点困惑。

感谢您的任何帮助!

编辑:我的最终意图是,当事件被删除时,关联的event_picture将被删除 - 以及让事件图片与每个发布的事件一起显示。我假设涉及一个@event_picture.each do,但它看起来不是很简单(因为当然,它必须是相关的事件图片)。

如果有人回答,我也会尽力向其他人说明答案。

编辑:
这是我的路线.rb

resources :events do resources :event_pictures, shallow: true end

要显示事件的图片:

<%= image_tag event.event_picture.url ... %>

要销毁图片,请在事件模型中:

has_one :event_picture, :dependent => :destroy

首先,如果您希望在销毁事件对象时也销毁嵌套资源,请将:_delete添加到event_picture_attributes中。

为了使嵌套资源正常工作,请使用 rails 表单生成器声明路由并创建表单。

按照这些教程进行操作,如果您遇到任何问题,请告诉我。

http://guides.rubyonrails.org/routing.html#nested-resources

http://guides.rubyonrails.org/form_helpers.html#nested-forms

最新更新