2016-02-11 3 views
0

Я пытаюсь создать форму с драгоценным камнем react-rails. Но я получаю сообщение об ошибке:SyntaxError: [stdin]: 24: 11: неожиданно. React-Rails

SyntaxError: [stdin]:24:11: unexpected .

Методом проб я нашел, что проблема заключается в первой строке React.DOM.div (оно помечено в коде), но я не понимаю, почему это случилось, я проверил все сто раз :)

компоненты/country_form.coffee:

@CountryForm = React.createClass 
    getInitialState: -> 
     name: '' 

    valid: -> 
     @state.name 

    handleChange: (e) -> 
     name = e.target.name 
     @setState "#{name}": e.target.value 

    handleSubmit: (e) -> 
     e.preventDefault() 
     $.post '', { country: @state }, (data) => 
      @props.handleNewCountry data 
      @setState @getInitialState() 
     , 'JSON' 

    render: -> 
     React.DOM.form 
      onSubmit: @handleSubmit 
      React.DOM.div # Problem is here 
       className: 'form-group' 
        React.DOM.label 
         'Name' 
        React.DOM.input 
         type: 'text' 
         className: 'form-control' 
         name: 'name' 
         value: @state.name 
         onChange: @handleChange 
      React.DOM.div 
       className: 'form-group' 
        React.DOM.button 
         type: 'submit' 
         className: 'btn btn-primary' 
         disabled: [email protected]() 
         'Save' 

Спасибо за любую помощь!

ответ

0

Я нашел проблему. RubyMine (и я думаю, IntelliJ IDEA тоже) indent CoffeeScript файлы с пробелами. Просто измените отступы на вкладки, и ошибка исчезнет.

IntelliJ IDEA settings (CoffeeScript indentions)

1

Я думаю, что он должен быть отступом еще раз.

Прямо сейчас это даже с prop из onSubmit:

React.DOM.form 
     onSubmit: @handleSubmit 
     React.DOM.div # Problem is here 
      className: 'form-group' 

но, возможно, она должна быть увеличена еще раз:

React.DOM.form 
     onSubmit: @handleSubmit 
     # -> 
      React.DOM.div # Problem is here 
       className: 'form-group' 
+0

Нет, не работает. Проблема заключалась в отступе, я добавил ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^