Вкладки, не перенаправляющие на вкладках jQuery UI - PullRequest
0 голосов
/ 26 марта 2011

помогите с формой рельсов 3 на вкладке jquery ui.

Это view(:controller => "pages", :action => "board") и форма на вкладках jquery (форма на 2-й вкладке)

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Information:</a></li>
        <li><a href="#tabs-2">Form:</a></li>
    </ul>
    <div id="tabs-1">
        <p>info</p>
    </div>
    <div id="tabs-2">
        <% if @message.errors.any? %>
            <% @message.errors.full_messages.each do |msg| %>
               <li><%= msg %></li>
            <% end %>
        <% end %>
        <%= form_tag(:controller => "messages", :action => "create") do %>
              <%= label(:message, "Message:") %>
              <%= text_field_tag(:message) %>
              <%= submit_tag("Create Message") %>
        <% end %>
    </div>
</div>

В моем контроллере у меня есть:

def board
    @message = Message.find(:first, :conditions => ["id = ?", params[:message]])
end

def create
    @message = Message.new(params[:message])
    if @message.save
        redirect_to(:controller => "pages", :action => "home")
    else
        redirect_to(:controller => "pages", :action => "board", :id => "tabs-2", :message => @message.id)
end

У меня следующая проблема:

Если параметры формы не соответствуют требованиям модели, следует перенаправить их на вкладки-2 и отобразить параметры, а не перенаправить на вкладки-1.

Любая помощь будет принята с благодарностью. Заранее спасибо.

1 Ответ

1 голос
/ 26 марта 2011

Вам нужно определить выбранную вами вкладку в jquery при инициализации ваших вкладок:

$( "#tabs" ).tabs({ selected: $("#tabs").data("selected") });

по вашему мнению:

<div id="tabs" data-selected="<%= params[:selected] || 1 %>">
  ...
</div>

в вашем контроллере:

if @message.save
  redirect_to(:controller => "pages", :action => "home" )
else
  redirect_to(:controller => "pages", :action => "board", :selected => "2", :message => @message.id)
end
...