Я создаю довольно простое приложение с рецептами для изучения RoR, и я пытаюсь позволить пользователю сохранить рецепт, щелкнув ссылку, а не через форму, поэтому я подключаю функцию «создания» контроллеров user_recipe черезссылка на.
К сожалению, по какой-то причине link_to вызывает функцию индекса, а не create.
Я написал link_to как
<%= "save this recipe", :action => 'create', :recipe_id => @recipe %>
эта ссылка находится наuser_recipes / index.html.erb и вызывает функцию 'create' того же контроллера.Кажется, не имеет значения, если я включу: контроллер или нет.
Контроллеры выглядят так
def index
@recipe = params[:recipe_id]
@user_recipes = UserRecipes.all # change to find when more than one user in db
respond_to do |format|
format.html #index.html.erb
format.xml { render :xml => @recipes }
end
end
def create
@user_recipe = UserRecipe.new
@user_recipe.recipe_id = params[:recipe_id]
@user_recipe.user_id = current_user
respond_to do |format|
if @menu_recipe.save
format.html { redirect_to(r, :notice => 'Menu was successfully created.') }
format.xml { render :xml => @menu, :status => :created, :location => @menu }
else
format.html { render :action => "new" }
format.xml { render :xml => @menu.errors, :status => :unprocessable_entity }
end
end