【问题标题】:Rendering Error Messages in Rails Form with Javascript使用 Javascript 在 Rails 表单中呈现错误消息
【发布时间】:2013-09-08 20:01:45
【问题描述】:

我有一个应该呈现错误消息的表单,但我不确定如何呈现错误消息,因为我的表单在单击按钮后使用 Javascript 显示。我正在使用设计进行注册,它只是不显示错误消息。我正在使用 Rails 4。

这是在点击后隐藏注册按钮并显示表单的代码:

<script type="text/javascript">
    $(function() {
        $('#prelaunchbutton').click(function() {
            $('#prelaunchregistrationbutton').fadeToggle('slow');
            $('.prelaunchhide').fadeToggle('slow'); 
            return false;
        });     
    });
</script>

这是设计登记表(为简洁起见):

    <div class="prelaunch_preregisterbutton" id="prelaunchregistrationbutton">  
                <%= link_to image_tag("pre-register.png", :border=>0), '#', id:'prelaunchbutton' %> 
    </div>  
    <div class="span10 offset1 prelaunchhide">
            <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :class => "form-inline")  do |f| %>
    ...
<% end %>   
    </div>

这里是设计注册控制器:

class RegistrationsController < Devise::RegistrationsController
  before_filter :authenticate_user!
  respond_to :html, :json

  def new
  end

  def create
    @user = User.new(user_params)
    @user.build_store(store_params)
    if @user.save
      UserMailer.preregister_confirmation(@user).deliver
      sign_in @user
      redirect_to prelaunch_gear_path, :flash => {:success => "Welcome"}
    else
      render root_path
    end
  end

  ...

  protected

  def after_update_path_for(resource)
    user_path(resource)
  end

  private 
  def user_params
     params.require(:user).permit(:firstname, :lastname, :email, :password)
  end

  def store_params
    params.require(:store).permit(:storename)
  end

end

【问题讨论】:

    标签: javascript ruby-on-rails devise ruby-on-rails-4 actioncontroller


    【解决方案1】:

    您可能会考虑使用 toastr 来显示 javascript 通知。

    这是我之前回答的一个 SO 问题,这可能有助于设置它:Rails 4 - Toaster notifications rather than flash notifications - 您只需将您的 flash 通知设置为 flash.now[:toastr],然后确保在返回的 JS 中调用初始化程序AJAX 请求。

    【讨论】:

      猜你喜欢
      • 2016-07-06
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 2013-01-24
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多