0

저는 레일에 약간 익숙한 데 "Proposition"(생성 된 모델)이 삽입되면 확인 메시지를 표시하려고합니다. 이를 위해 레일즈에 임베드 된 자바 스크립트 기능을 사용하고 있습니다. 불편을 끼쳐 드려 죄송합니다. 제안서가 올바르게 삽입되었지만이 확인 메시지를 표시하는 방법을 찾을 수 없습니다 (예 : '정확하게 제안 된 제안'과 같이).확인 메시지 - Javascript rails application

아래 코드는

제안 모델 :

class Proposition < ActiveRecord::Base 
belongs_to :ad 
attr_accessible :email, :name, :phone, :price 
validates_presence_of :name or :price or :email or :phone 
end 

제어기에있어서 생성 :

def create 
@ad = Ad.find(params[:ad_id]) 
@proposition = @ad.propositions.create(params[:proposition]) 

respond_to do |format| 
if @proposition.save 
format.html { redirect_to ad_path(@ad), notice: 'Proposition was successfully created.' } 
format.json { render json: ad_path(@ad), status: :created, location: @proposition } 
format.js 
else 
format.html { render action: "new" } 
format.json { render json: @proposition.errors, status: :unprocessable_entity } 
format.js { render action: "new" } 
end 
end 
end 

_form.ht '를 사용하고 있습니다 ml.erb :

<%= form_for [@ad, @ad.propositions.build], :remote => true do |f| %> 
<% if @proposition.errors.any? %> 
<div id="error_explanation"> 
<h2><%= pluralize(@proposition.errors.count, "error") %> prohibited this proposition from being saved:</h2> 
<ul> 
<% @proposition.errors.full_messages.each do |msg| %> 
<li><%= msg %></li> 
<% end %> 
</ul> 
</div> 
<% end %> 
<div class="field"> 
<%= f.label :Prénom %><br /> 
<%= f.text_field :name %> 
</div> 
<div class="field"> 
<%= f.label :"Adresse mail" %><br /> 
<%= f.text_field :email %> 
</div> 
<div class="field"> 
<%= f.label :Téléphone %><br /> 
<%= f.text_field :phone %> 
</div> 
<div class="field"> 
<%= f.label :"Prix proposé" %><br /> 
<%= f.text_field :price %> 
</div> 
<div class="actions"> 
<%= f.submit %> 
</div> 
<% end %> 

create.js.erb :

$('#new_proposition').fadeOut(1000); 

new.js.erb : 당신의 도움에 대한

$('#new_proposition_link').hide().after('<%= j render("form") %>'); 

감사합니다! 이미 create.js.erb 파일을 가지고 있기 때문에

답변

1

, 당신은

# app/views/.../create.js.erb 

$('#new_proposition').before('<p>Proposition correctly submitted!</p>'); 
$('#new_proposition').fadeOut(1000); 

이것은 #new_proposition 요소 전에 <p>Proposition correctly submitted!</p>를 삽입, 경고 메시지를 표시하거나과 같이 페이지에 확인 메시지를 삽입하는 JS를 사용할 수 있습니다. 이 요소가 사라지기 때문에 다른 위치에 삽입 할 수 있습니다.