私は、ユーザーが特定のイベントのために曲を入力できるようにするプログラムを持っています。提出するには、そのイベントのパーティコードを入力する必要があります。ここではそれがどのように見えるのスクリーンショットです:私はそれが私にこのエラーを与えて送信すると ActionController :: InvalidAuthenticityToken投稿時
:
class SongsController < ApplicationController
def new
@song = Song.new
end
def create
current_event = Event.find(song_params[:event_id])
@song = current_event.songs.build(song_params)
if @song.save
flash[:success] = "Success"
redirect_to event_path(@song.event)
else
flash[:error] = "Failed"
end
end
def destroy
end
private
def song_params
params.require(:song).permit(:event_id, :artist, :title, :genre)
end
end
イベントモデル
:ここでは私のSongsControllerは、次のようになります
class Event < ApplicationRecord
belongs_to :user
validates :name, presence: true
validates :partycode, presence: true, length: {minimum: 5}
has_many :songs, dependent: :destroy
end
歌モデル
class Song < ApplicationRecord
belongs_to :event
validates :artist, presence: true
validates :title, presence: true
end
new.html.erb(歌)
<br>
<br>
<h1> Member page </h1>
<div class ="container">
<div class="jumbotron">
<h2> Select an event to add songs to: </h2>
<%= form_for Song.new do |f| %>
<%= f.collection_select(:event_id, Event.all, :id, :name) %>
<h3> Enter your song </h3>
<%= form_for Song.new do |f| %>
<%= f.text_field :artist, placeholder: "Artist" %>
<%= f.text_field :title, placeholder: "Title" %>
<%= f.text_field :genre, placeholder: "Genre" %>
<h2> Enter the partycode for that event: </h2>
<%= form_for Event.new do |f| %>
<%= f.text_field :partycode %>
<%= f.submit "Submit", class: "btn btn-primary" %>
<% end %>
<% end %>
<% end %>
</div>
</div>
私は私のウェブサイトの仕事のこの機能を作るために何ができますか?どんな助けも大変ありがとうございます。
ソングとイベントの関係を正しく設定しましたか? –
私は私の関係を投稿します – Aaron
あなたのビューコードも加えてください。 – dp7