syntax error on while loop with ruby -
this question has answer here:
i having syntax error on api dont understand. inside rooms_controller have multiple_create method responsible creating multiple rooms :
def multiple_create = 0 while < params[:room_number] room.create!(room_params) i++ end if == params[:room_number] render json: {message: "all rooms created"} else render json: {message: "there problem during room creation. rooms might not have been created"} end end i testing method curl request :
curl -i -x post \ -h 'content-type: application/json' \ -h 'x-user-email: leon_kuhlman@zulauf.net' \ -h 'x-user-token: 7b5rgzsosxekh-5p2tt5' \ -d '{ "room_number": 10, "room": {"content": "plein sud"} }' \ http://localhost:3000/api/v1/hotels/1/rooms/multiple_create but getting syntax error :
> syntax error, unexpected keyword_end /users/davidgeismar/code/davidgeismar/quick_bed_api/app/controllers/api/v1/rooms_controller.rb:68: syntax error, unexpected end-of-input, expecting keyword_end app/controllers/api/v1/rooms_controller.rb, line 34 --------------------------------------------------- ``` ruby 29 = 0 30 num = 5 31 while < num 32 room.create!(room_params) 33 i++ > 34 end 35 if == params[:room_number] 36 render json: {message: "all rooms created"} 37 else 38 render json: {message: "there problem during room creation. rooms might not have been created"} 39 end `` i dont why getting error here. here's controller if can find !
class api::v1::roomscontroller < api::v1::basecontroller before_action :set_room, only: [ :show, :update] def index if params[:search].blank? @rooms = policy_scope(room) else @slots = policy_scope(room) .where('name ilike ?', "%#{params[:search]}%") end end def show end def update if @room.update(room_params) render :show else render_error end end ## input hotel + number of rooms def multiple_create = 0 num = 5 while < params[:room_number] room.create!(room_params) i++ end if == params[:room_number] render json: {message: "all rooms created"} else render json: {message: "there problem during room creation. rooms might not have been created"} end end def create #attention la ligne ci-dessous doit etre corrigÉ pour lier account et room @room = current_user.rooms.build(room_params) authorize @room if @room.save render :show else render_error end end private def set_room @room = room.find(params[:id]) authorize @room end def room_params params.require(:room).permit(:hotel_id, :content) end def render_error render json: { errors: @room.errors.full_messages }, status: :unprocessable_entity end end
i believe error being caused use of i++ not valid ruby syntax. try replacing i += 1
Comments
Post a Comment