我目前有一个简单的应用程序,其中包括通过设计和消息模型进行用户身份验证(消息模型使用 Jquery 和 Faye)。两者都可以独立工作,但我想在消息中添加一个 user_id。
我已经使用关系更新了架构和模型,但是我无法输入必要的代码以使视图和控制器将关系输入到数据库中,同时保持 jquery 正常工作。我不确定最好的方法,但在这里我尝试创建一个隐藏字段来提取 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
我认为您拥有所需的一切,但如果没有,请告诉我,我很乐意为您提供。
谢谢大家。