0

シンプルなテキストエリアボックス、「ページング」(メッセージの送信先) を決定するための選択、および送信ボタンを備えた「ページング」インターフェイスを持つアプリを構築しています。

ページを送信すると、小さな div にメッセージと結果 (成功、失敗など) が表示されるように、Ajax 機能を使用してこれを構築したいと思います。

私のコントローラーは、index、new、create アクションを持つという点で単純です。create アクションは、ページにメッセージを投稿するだけでなく、actionmailer をトリガーして、フォーム選択で選択された個人に基づいてページを送信する必要があります。

私が抱えている問題は、ビュー コードと jquery にあると思います。私は新しいので、それがどのように機能するかを理解しようとすると、少し混乱します。

このようなことができる 1 ページの投稿インターフェイスの例を教えてもらえますか? これまでのところ、私のコードは正しいように見えますが、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 %>
4

1 に答える 1