私は現在、デバイスとメッセージ モデル (メッセージ モデルは Jquery と Faye を使用) によるユーザー認証を含むシンプルなアプリを持っています。どちらも独立して正常に動作していますが、メッセージに user_id を追加したいと思います。
私はすでにスキーマとモデルをリレーションシップで更新しましたが、jquery の動作を維持しながら、ビューとコントローラーがリレーションシップを db に入力するために必要なコードを入力するのに問題があります。最善の方法はわかりませんでしたが、ここでは、user_id を取得する隠しフィールドを作成しようとしましたが、これが可能かどうかはわかりません。該当するコードは次のとおりです。
メッセージ index.html.erb
<ul id="chat">
<%= render @messages %>
</ul>
<%= form_for Message.new, :remote => true do |f| %>
<div class="field">
<%= f.text_field :content %>
</div>
<div class="field">
<%= f.hidden_field :user_id %>
</div>
<div class="actions">
<%= f.submit "Send" %>
</div>
<% end %>
メッセージ用の create.js.erb
<% broadcast "/messages" do %>
$("#chat").append("<%= escape_javascript render(@user.message) %>");
<% end %>
$("#new_message")[0].reset();
メッセージコントローラー
class MessagesController < ApplicationController
def index
if @authentications = current_user
@messages = Message.all
else
redirect_to authentications_url
flash[:notice] = "You need to sign in before answering questions"
end
end
def create
@user = User.find(params[:user_id])
@message = @user.message.create(params[:message])
end
end
必要なものはすべて揃っていると思いますが、そうでない場合はお知らせください。喜んで提供させていただきます。
みんな、ありがとう。