Быстрый вопрос Rails, с которым мне бы очень хотелось помочь вашим парням. Я оглядывался за ответом, и все, что там кажется, похоже на более сложную сторону для того, что я считаю решением. У меня есть две страницы, которые используют модель (Пользователь) и форму на каждой странице, которая обновляет другой атрибут при сохранении.Условная валидация на разных страницах - рельсы
One обновляет свои данные паролей (проверка для наличия пароля)
One обновляет ответ их викторины в (проверка для 300 макс символов)
Как я могу сделать условное валидация, чтобы при отправке формы проверки появились на их соответствующих страницах? Нужно ли мне два отдельных действия? Как связать эти действия с формой submit?
Вот родовое действие обновления и форма:
контроллер Пользователи
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "All is updated"
sign_in @user
redirect_to @user
else
render 'edit'
end
end
Форма
<p><h3>Linked-In Optimization</h3></p>
<%= form_for(@user) do |form| %>
<p><%= form.label :linkedin, 'Please copy and paste your Linked-In profile here (575 chars max.)' %></p>
<p><%= form.text_area :linkedin %></p>
<%= form.submit 'Save' %>
<img class="linkedin" src="/linkedin.png">
<% end %>
ваш вопрос очень неясен. Можете ли вы вставить весь свой код «как страницы просмотра», так и код контроллеров. –
Вы правы, я должен был быть более ясным. В любом случае, спасибо за помощь ниже. Вот что я сделал: в представлениях: <% = form_for (@user,: url => update_linkedin_user_path (@user)) do | f | %> и в маршрутах я добавил это ниже «resources: users» - «put» update_linkedin ',: on =>: member ". (Также создано действие в контроллере.) – D060703