обновление и создание рельсов с использованием шаблона формы - PullRequest
0 голосов
/ 17 января 2011

Я хотел бы знать, где я не прав.Таким образом, у меня есть шаблон формы для редактирования и обновления модели (более одной)

<%= form_for :Car,@car,:url=>{:controller=>:cargo} do |form| %>
....
<%= form.submit "Save", :class => "submit" ,:class =>"Button_style"%>
<% end %>

И в контроллере (грузовой) у меня есть какой-то метод

def index
    @cars=Car.find_all_by_UserId(session[:user_id])
    if @cars.nil?
    end
  end

  def create_auto
      @car = Car.new(params[:Car])
      @car.UserId=session[:user_id];
      if @car.save
        redirect_to :action=>:index
      else
        render :action => "new_auto"
      end
  end

  def new_auto
    @car = Car.new
    @car.CarProperty.build
  end

  def edit_auto
    @car = Car.find(params[:id])
    if @car.nil?
      flash[:notice] = "Empty request"
    end
  end

  def update_auto
    @car = Car.find(params[:id])
      if @car.update_attributes(params[:Car])
      else
        render :action => "edit_auto"
      end
  end

Для добавления нового автомобиля я используюкнопка

<%= button_to "Add car",{:action=>:new_auto},{:class =>"Button_style",:method => "get"} %>

Для редактирования <%= button_to 'Change', :controller=>:cargo,:action=>:edit_auto,:id=>car.CarI d%> Но когда я нажимаю кнопку Сохранить, ничего не происходит, я имею в виду, что create_auto и save_auto не запускаются

Ответы [ 2 ]

1 голос
/ 17 января 2011

Честно говоря, вам нужно сделать шаг назад и изучить некоторые соглашения Rails, такие как имена методов для контроллеров RESTful.

Rails, больше чем многие фреймворки, будет сильно кусаться, если вы будете бороться с его соглашениями. Обычно это хорошая вещь, так как она может обеспечить большую производительность, не изобретая колесо постоянно, но вам нужно изучить их.

Я рекомендую эти ресурсы (без каламбура!):

0 голосов
/ 17 января 2011

Вы используете нетрадиционные имена методов.Если вы хотите сделать это, вам нужно будет указать их в форме.В противном случае я бы предложил переименовать методы в соответствии с соглашениями Rails.

create, update, …
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...