Я хочу призвать создать действие контроллера user_clubs и я сделал так:пары отсутствуют или значение пусто: user_club - рельсы
Посмотреть клубы
<button>
<%= link_to "Join Club", user_clubs_path(:user_id => current_user.id, :club_id => @club.id, :join_date => Date.current), :method => :post %>
</button>
user_clubs контроллер
def create
@user_club = UserClub.new(user_club_params)
respond_to do |format|
if @user_club.save
format.html { redirect_to @user_club, notice: 'User club was successfully created.' }
format.json { render :show, status: :created, location: @user_club }
else
format.html { render :new }
format.json { render json: @user_club.errors, status: :unprocessable_entity }
end
end
end
def user_club_params
params.require(:user_club).permit(:user_id, :club_id, :join_date) --->**Error here**
end
Ошибка Информация
приложение/контроллеры/user_clubs_controller.rb: 75: в user_club_params' app/controllers/user_clubs_controller.rb:28:in
создать» Запрос
Parameters:
{"_method"=>"post",
"authenticity_token"=>"5Grhb+LIGt9B8XbnEcvg7BZQlDE935KO/aeikZoqxYs=",
"club_id"=>"1",
"join_date"=>"2014-11-17",
"user_id"=>"2"
}
клубы и UserClubs разные. Клуб - это модель, представляющая собой команду людей, а user_clubs - это модель, которая представляет отношения «многие ко многим» между пользователями и клубами.
Во-первых, может ли кто-нибудь объяснить мне, как вызов user_clubs_path сопровождается аргументами, знающими, что нужно перейти к созданию действия контроллера user_clubs?
Во-вторых, объективная проблема, почему это ошибка?
так, это способ создать ресурс, не заполняя форму, не так ли? –
Да, вроде Rails magic :), когда вы добавляете ': method =>: post' Rails преобразует эту ссылку в форму (через внутренние js): http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to – markets
Спасибо. Я изучаю основы, и я пришел с языков программирования, таких как java и C, и в начале не просто абстрагироваться от этого синтакса. Еще раз спасибо :-) –