Я создаю довольно простое приложение для рецептов, чтобы изучить RoR, и я пытаюсь разрешить пользователю сохранять рецепт, щелкнув ссылку, а не через форму, поэтому я подключаю функцию "create" контроллера user_recipe через ссылка к.
К сожалению, по какой-то причине link_to вызывает функцию index, а не 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