Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何让用户参加活动?_Ruby On Rails_Web Applications_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 如何让用户参加活动?

Ruby on rails 如何让用户参加活动?,ruby-on-rails,web-applications,ruby-on-rails-4,Ruby On Rails,Web Applications,Ruby On Rails 4,所以我有一个类似meetup.com的应用程序,用户可以创建事件,评论事件,通过GPS半径搜索事件。。但是,我希望允许用户单击“参加”按钮,然后在events/show.html.erb页面上显示哪些用户正在参加等 我该怎么做 当前事件显示.html.erb <%= render 'shared/header' %>

所以我有一个类似meetup.com的应用程序,用户可以创建事件,评论事件,通过GPS半径搜索事件。。但是,我希望允许用户单击“参加”按钮,然后在events/show.html.erb页面上显示哪些用户正在参加等

我该怎么做

当前事件显示.html.erb

<%= render 'shared/header' %>                                                                                                                                 

<div class="container">                                                                                                                                       
  <div class="row">                                                                                                                                           
    <div class="span3">                                                                                                                                       
      <%= render 'sidebar' %>                                                                                                                                 
    </div>                                                                                                                                                    
    <div class="span5">                                                                                                                                       
      <div class="new_event_form">                                                                                                                            
        <div class="line1"><h4>Create event</h4></div>                                                                                                        
        <%= form_for current_user.events.new, remote: true do |f| %>                                                                                          
          <h5>Event title:</h5>                                                                                                                               
          <div><%= f.text_field :title, placeholder: "Event title", required: true, autocomplete: :off %></div>                                               
          <h5>Event description:</h5>                                                                                                                         
          <div><%= f.text_area :description, placeholder: "Event description", required: true, autocomplete: :off %></div>                                    
          <h5>Event date:</h5>                                                                                                                                
          <div><%= f.text_field :date  %></div>                                                                                                               
          <h5>Event location:</h5>                                                                                                                            
          <div><%= f.text_field :location, placeholder: "Event location", required: true, autocomplete: :off %></div>                                         
          <div>                                                                                                                                               
            <%= f.submit "Create event", class: 'btn btn-primary' %>                                                                                          
            <%= link_to "Cancel", '#', class: 'btn cancel_event' %>                                                                                           
          </div><br />                                                                                                                                        
        <% end %>                                                                                                                                             
      </div>                                                                                                                                                  
      <div class="events_list">                                                                                                                               
        <!-- look in events/event.hmlt.erb -->                                                                                                                
        <h4><%= @event.title %> at <%= @event.location %></h4>                                                                                                
        <p><%= @event.description %></p>                                                                                                                      
        <h5><i class="fa fa-calendar-o"></i> <%= @event.date.strftime("%A, %B %d, %Y") %></h5>                                                                
        <h5><i class="fa fa-clock-o"></i> <%= @event.time %></h5>                                                                                             
        <h5><i class="fa fa-map-marker"></i> <%= @event.location %></h5>                                                                                      
      </div>                                                                                                                                                  
      <div class="name"></div>                                                                                                                                

            <%= form_for [@commentable, @comment], remote: true do |f| %> 
...........and so on...

创建事件
活动名称:
事件描述:
活动日期:
活动地点:

等等

提前感谢

您需要在routes.rb和事件控制器中定义“参加”操作,然后为其创建attent.html.erb表单

编辑:在routes.rb中

 resources :events do
   post 'attend', on: :member
 end
事件中的控制器

def attend
  @event.attendees << current_user
  @event.save
end
def出席

@event.attendes您有什么特别的问题吗?感谢Amadan,基本上-编写代码允许用户进行RSVP,无法考虑它应该是什么以及它应该如何工作..另外。。。为什么同时标记了
ruby-on-rails-4
ruby-on-rails-3
?哎呀,我想我是高兴了。感谢您指出这一点。表单中有什么内容?我会在活动控制器中创建出席记录,然后显示一些确认信息,如“感谢您注册参加这一精彩的活动”#94879。在attribute.html.erb中,只需输出@Event.attendes.count somewhere检查它是否为“on::member”,这样您就可以在单独的位置查看与会者列表页或者就在那里?在任何情况下,我可能会在控制器中定义另一个操作,如“get/event/:id/attendes”和相应的方法,然后您可以在单独的页面上显示它,也可以通过ajax加载它
 <%= button_to 'Attend', attend_event_path(@event), method: :post, confirm: 'really?' %>