我有三種模式User
,Anime
和Animelist
。如何在不同的頁面中提交表單,然後在提交後進行編輯表單
A user
能夠將anime
添加到他們的animelist
。這工作得很好,但我不希望user
能夠將無數次相同的anime
添加到他們的列表。
我怎麼可以在用戶經過這麼設置它增加了一個動畫自己的列表編輯彈出窗體/按鈕跳出與它們放在信息。
我有一個彈出式窗口中animes /顯示頁面以顯示用戶必須填寫的表單以將動畫添加到其列表中。希望我讓自己清楚。
Animelist _form
<%= simple_form_for [@anime, @animelist] do |f| %>
<%= f.input :status %>
<%= f.input :rating %>
<%= f.input :rewatched %>
<% end %>
animes /顯示頁面彈出代碼
<p><a data-open="exampleModal1">Add to Animelist</a></p>
<div class="reveal form" id="exampleModal1" data-reveal>
<%= render partial: 'animelists/form' %>
<button class="close-button" data-close aria-label="Close modal" type="button">
<span aria-hidden="true">×</span>
</button>
</div>
Animelist控制器
def new
@anime = Anime.friendly.find(params[:anime_id])
@animelist = Animelist.new
end
def create
@anime = Anime.friendly.find(params[:anime_id])
@animelist = Animelist.new(animelist_params)
@animelist.user_id = current_user.id
@animelist.anime_id = @anime.id
if @animelist.save
redirect_to :back
else
render :new
end
end
動漫控制器
def show
@anime = Anime.friendly.find(params[:id])
@animelist = Animelist.new
end
這使得更多的意義。我試圖弄清楚如何在我的動漫/演出頁面中呈現它。我正在考慮做'<%=呈現部分:'animelists/form',當地人:{anime_list:@animelist}%>'但我在chrome控制檯中遇到500(內部服務器錯誤),當我嘗試提交時。是否有另一種方法來呈現部分?我覺得我做錯了 – Wesly
控制檯說什麼,它是否有錯誤信息? –
這是它顯示了我的http:// localhost:3000/animes/kill-la-kill/anime_lists 500(內部服務器錯誤)jquery.self-c64a74367bda6ef8b860f19e74df08927ca99d2be2ac934e9e92d5fd361e0da4.js?body = 1:10244' – Wesly