Я новичок в рельсах и по-прежнему работаю над фундаментальными принципами, поэтому любые советы и советы очень ценятся!относительно использования рендера в рубине на рельсах
Я создал функциональную страницу контакта на веб-сайте, и я хотел бы иметь возможность отображать форму и функциональность внутри вкладки на другой странице. У меня есть следующий код в папке static_pages в моей папке просмотров:
<div id="tabs">
<ul>
<li><a href="#tabs-1">About</a></li>
<li><a href="#tabs-5">Contact</a></li>
</ul>
<div id="tabs-1">
<%= render "shared/about"%>
</div>
<div id="tabs-5">
<%= render "contact/new"%>
</div>
< где% = штукатурка «контакт/новый»%> соответствует new.html.erb файла в контакте в представлениях.
соответствующий код внутри моего routes.rb является
match 'contact' => 'contact#new', :as => 'contact', :via => :get
match 'contact' => 'contact#create', :as => 'contact', :via => :post
и вот мой контроллер:
class ContactController < ApplicationController
def new
@message = Message.new
end
def create
@message = Message.new(params[:message])
if @message.valid?
NotificationsMailer.contact_pr(@message).deliver
redirect_to(root_path, :notice => "Message was successfully sent.")
else
flash.now.alert = "Please fill all fields."
render :new
end
end
end
Однако, кажется, что все, что я пытаюсь я до сих пор не в состоянии оказать форму. Я прошу прощения, если это очень простой вопрос, и меня больше всего интересует улучшение принципов Ruby on Rails, поэтому любые советы приветствуются! Благодаря!
какие ошибки вы получаете? – Debadatt
Возможно, вам нужно инициализировать @message = Message.new в контроллере static_pages в действии, которое вы показываете вкладкам. – Debadatt