我是新來的鐵軌和我想要做的是以下幾點:薪火使用Ajax諧音特定數據的Rails
我創建一個存儲和unstore按鈕保存和「未保存'事件分別。我用我的事件屬性和當前用戶來查找存儲的事件。通過使用Ajax和導軌的遠程功能,我將能夠改變按鈕的行爲從商店unstore或反之亦然。
在我_feed.html.erb。
<% if @feed_items.any? %>
<ul>
<%= render partial: 'shared/feed_item', collection: @feed_items %>
</ul>
<% end %>
每個@feed_items包含一組數據(標題,類別等)。
在我_feed_item.html.erb。
<li id="<%= feed_item.id %>" class="item">
...
<div class="small-3 text-center columns">
<%= render 'shared/store_form', event: feed_item %>
</div>
...
</li>
事件符號將該feed_item發送到store_form。
在我_store_form.html.erb。
<div id="store_form_<%= event.id %>">
<% if event.stored?(current_user) %>
<%= render 'shared/unstore', event: event %>
<% else %>
<%= render 'shared/store', event: event %>
<% end %>
</div>
我再次將一個feed_item傳遞給partial。
_store.html.erb
<%= form_for(event.storages.build(saver_id: current_user.id,
organizer_id: event.user_id),
remote: true) do |f| %>
<div>
<%= f.hidden_field :organizer_id %>
<%= f.hidden_field :saved_id, value: event.id %>
</div>
<%= f.submit "store" %>
<% end %>
_unstore.html.erb
<%= form_for(event.storages.find_by(saver_id: current_user.id,
organizer_id: event.user_id) ,
html: { method: :delete },
remote: true) do |f| %>
<%= f.submit 'unstore' %>
<% end %>
create.js.erb
$("#store_form").html("<%= escape_javascript(render 'shared/store', event: event)%>")
destroy.js.erb
$("#store_form").html("<%= escape_javascript(render 'shared/unstore', event: event) %>")
而且點擊店/ unstore事件,當我得到這些錯誤。
ActionView::Template::Error (undefined local variable or method `event' for #<#<Class:0x00000004d69be8>:0x00000004d68d10>):
1: $("#store_form").html("<%= escape_javascript(render 'shared/unstore', event: event) %>")
ActionView::Template::Error (undefined local variable or method `event' for #<#<Class:0x00000004d69be8>:0x00000004fdc6a0>):
1: $("#store_form").html("<%= escape_javascript(render 'shared/store', event: event)%>")
我的問題是,我怎樣才能將特定的「事件」數據傳遞到部分。我不能用@feed_item到創建和銷燬JS因爲feed_item有組事件。有沒有更好的方法來處理這個問題?
我會嘗試這一個。如果它仍然無效,我會回覆。但是我對store和untore的部分需要顯示來自一組事件的每個事件狀態。 – Neil 2014-10-05 15:27:09