我正在构建一个应用程序,它有一个“分页”界面,它有一个简单的文本区域框,一个选择来确定我应该“分页”(向谁发送消息)和一个提交按钮。
我想用 Ajax 功能构建它,这样当我提交页面时,一个小 div 会显示消息和结果(成功、失败等)。
我的控制器很简单,因为它将有一个索引、新建、创建操作。创建操作应在页面上发布消息,并触发 actionmailer 根据表单选择中选择的个人发送页面。
我想我遇到的问题是视图代码和 jquery。因为我是新手,所以试图理解它是如何工作的让我有点困惑。
有人可以为我提供一个可以执行此类操作的单页帖子界面示例吗?到目前为止,我的代码看起来是正确的,但我缺少 jquery 的东西和其余的魔法。
这是我到目前为止所拥有的:
paging_controller
class PagingController < ApplicationController
def index
@pages = Paging.all
end
def new
@page = Paging.new
end
def show
@page = Paging.find(params[:id])
respond_with @page
end
def create
@page = Paging.new(params[:page])
if @page.valid?
PagingMailer.new_message(@page).deliver
redirect_to calls_path, notice: "Call was successfully created."
else
flash.now.alert = "Please fill all fields."
render :new
end
end
end
index.html.erb
<h2>Paging Interface</h2>
<div class="form">
<%= render 'form' %>
</div>
<div class="page">
<%= render 'page'%>
</div>
_form.html.erb
<%= form_for(@page, :remote => true) do |f| %>
<% end %>
<div class="field">
<%= f.text_area :message %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
_page.html.erb
<%= content_tag_for(:li, page) do %>
<p><%= page.body %></p>
<span class="age">Posted at <%= time_ago_in_words(page.created_at) %> ago.
</span>
<% end %>